{-# UNPACK #-} is specified to work on single-constructor types, but would there be advantages to, for instance, compiling

data BinTree e = Node e {-# UNPACK #-} !(Maybe (BinTree e)) {-# UNPACK #-} !(Maybe (BinTree e))

into four constructors, one for each combination of Maybe constructors?  Thoughts?

Louis Wasserman
wasserman.louis@gmail.com