data Temp = Cold | Hot deriving (Eq, Ord, Enum, Show, Read) data Season = Spring | Summer | Autumn | Winter deriving (Eq, Ord, Enum, Show, Read) weather :: Season -> Temp weather Summer = Hot weather _ = Cold