mod56.hs:4:39: Can't make a derived instance of ‛Ix T’: ‛T’ must be an enumeration type (an enumeration consists of one or more nullary, non-GADT constructors) or ‛T’ must have precisely one constructor In the data declaration for ‛T’