[Haskell-cafe] A datatype with a single constructor and forall to multiple constructors without forall