既定とは異なる順序で比較したい時ってどうする?
data Ordered a = Ordered (a->a->Ordering) a
instance Ord (Ordered a) where
compare (Ordered compare' x) (Ordered _ y) = compare' x y
って型を新しく作る?