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