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)