I'd like a type that can be used to wrap values for which I want WHNF = NF. This is useful for satisfying NFData constraints with criterion for example.
newtype WHNF a = WHNF a
instance NFData (WHNF a) where rnf (WHNF a) = seq a ()
Of course, this data type should be given a better name. Maybe data instead of newtype would also be useful for even more laziness?