{-# LANGUAGE GADTs #-} data Foo where Foo :: Int -> Foo deriving (Eq, Ord, Typeable)