module U ( U (..) ) where newtype U = U { U -> Int unU :: Int } deriving (U -> U -> Bool (U -> U -> Bool) -> (U -> U -> Bool) -> Eq U forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: U -> U -> Bool == :: U -> U -> Bool $c/= :: U -> U -> Bool /= :: U -> U -> Bool Eq, Eq U Eq U => (U -> U -> Ordering) -> (U -> U -> Bool) -> (U -> U -> Bool) -> (U -> U -> Bool) -> (U -> U -> Bool) -> (U -> U -> U) -> (U -> U -> U) -> Ord U U -> U -> Bool U -> U -> Ordering U -> U -> U forall a. Eq a => (a -> a -> Ordering) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> a) -> (a -> a -> a) -> Ord a $ccompare :: U -> U -> Ordering compare :: U -> U -> Ordering $c< :: U -> U -> Bool < :: U -> U -> Bool $c<= :: U -> U -> Bool <= :: U -> U -> Bool $c> :: U -> U -> Bool > :: U -> U -> Bool $c>= :: U -> U -> Bool >= :: U -> U -> Bool $cmax :: U -> U -> U max :: U -> U -> U $cmin :: U -> U -> U min :: U -> U -> U Ord)