Hi all,
After thinking about this some more I think we should go with option one (the most strict one). My arguments in favor are that
* it's easier to explain and remember,
* it's harder to be too lazy by mistake*,
* Simon M thinks it'll help GHC to avoid some redundant seq:s, and
* if we can specialize the structure in the future to use monomorphic representations we can pass the value unboxed.
Milan, what are your current thoughts?
* It's easier to be too lazy by mistake if there are a few functions that are less strict than the remaining ones.
Cheers,
Johan