T4528.hs:9:1: Can't make a derived instance of ‛Enum (Foo a)’: ‛Foo’ must be an enumeration type (an enumeration consists of one or more nullary, non-GADT constructors) In the stand-alone deriving instance for ‛Enum (Foo a)’ T4528.hs:10:1: Can't make a derived instance of ‛Bounded (Foo a)’: ‛Foo’ must be an enumeration type (an enumeration consists of one or more nullary, non-GADT constructors) or ‛Foo’ must have precisely one constructor In the stand-alone deriving instance for ‛Bounded (Foo a)’