Allow existentials to UNPACK
Consider
data T a where
MkT :: b -> (b->a) -> T a
data Wuggle where
MkW :: {-# UNPACK #-} !T Int -> Wuggle
Here MkT
has an existential, but there is really no reason that it can't unpack into the data constructor for MkW
. But it is currently rejected.