> It was said long ago that these strict fields help to somewhat
> increase the performance. For example, Ratio uses this (?).
The next version of ghc will make further use of strictness annotations on
constructors by unboxing/unpacking strict fields. eg.
data T = T !Int
will result in an unboxed integer being stored in the T constructor, and
data S = S !(T,T)
will result in two unboxed integers stored in the S constructor (assuming
the same strictness annotation on the T constructor above).
This is an optional feature, because it could in certain cases result in
more allocation as the unpacked fields need to be reboxed when the fields
are extracted.
Cheers,
Simon