> Out of curiousity, it's a bit strange that
>=20
> > data D =3D D !Int
> > myD =3D D {}
>=20
> in invalid, but
>=20
> > newtype N =3D N !Int
> > myN =3D N {}
>=20
> is not.
The second example is also invalid: the newtype declaration is
disallowed by the grammar. (incedentally, it looks like this example
triggers a bug in nhc98).
Cheers,
Simon