> The name "first class structures" seems to imply that the local
> quantification is restricted to structures, and from a first
> look at Jones' paper it seems that structures are a new language
> construct. Now Haskell already has records and algebraic types.
> Are structures any different from records, if we allow locally
> universally quantified types in records? Is there any reason to
> disallow locally universally quantified types in record types or
> algebraic types?
You can indeed have universals in data types (they don't even
have to be records). Hbc implements this extensions.
-- Lennart