data T = A { foo :: Int } | B { bar :: String } deriving Show
data Bool = False | True data Ordering = LT | EQ | GT