content: module Data.Ord where
  
  
  
  data Ordering
  
  class Data.Eq.Eq a => Ord a where
    compare :: a -> a -> Ordering
    (<)  :: a -> a -> Data.Bool.Bool
    (>=) :: a -> a -> Data.Bool.Bool
    (>)  :: a -> a -> Data.Bool.Bool
    (<=) :: a -> a -> Data.Bool.Bool
  
  comparing :: Ord a => (b -> a) -> b -> b -> Ordering
  
  instance Ord a => Ord [a]
  instance Prelude.Integral a => Ord (Ratio a)
  -- instance Ord p => Ord (Par1 p)
  instance Ord a => Ord (Data.Maybe.Maybe a)
  instance Ord a => Ord (Down a)
  instance Ord a => Ord (Last a)
  instance Ord a => Ord (First a)
  instance Ord a => Ord (Product a)
  instance Ord a => Ord (Sum a)
  instance Ord a => Ord (Dual a)
  instance Ord a => Ord (ZipList a)
  instance (Ord a, Ord b) => Ord (Data.Either.Either a b)
  -- instance Ord (f p) => Ord (Rec1 f p)
  instance (Ord a, Ord b) => Ord (a, b)
  -- instance Ord c => Ord (K1 i c p)
  -- instance (Ord (f p), Ord (g p)) => Ord ((:+:) f g p)
  -- instance (Ord (f p), Ord (g p)) => Ord ((:*:) f g p)
  -- instance Ord (f (g p)) => Ord ((:.:) f g p)
  instance (Ord a, Ord b, Ord c) => Ord (a, b, c)
  -- instance Ord (f p) => Ord (M1 i c f p)
  instance (Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d)
  instance (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e)
  instance (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f) => Ord (a, b, c, d, e, f)
  instance (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g) => Ord (a, b, c, d, e, f, g)
  instance (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h) => Ord (a, b, c, d, e, f, g, h)
  instance (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i) => Ord (a, b, c, d, e, f, g, h, i)
  instance (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j) => Ord (a, b, c, d, e, f, g, h, i, j)
  instance (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k) => Ord (a, b, c, d, e, f, g, h, i, j, k)
  instance (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k, Ord l) => Ord (a, b, c, d, e, f, g, h, i, j, k, l)
  instance (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k, Ord l, Ord m) => Ord (a, b, c, d, e, f, g, h, i, j, k, l, m)
  instance (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k, Ord l, Ord m, Ord n) => Ord (a, b, c, d, e, f, g, h, i, j, k, l, m, n)
  instance (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k, Ord l, Ord m, Ord n, Ord o) => Ord (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
  
  data Down a
  
  instance Data.Eq.Eq a => Data.Eq.Eq (Down a)
  instance Data.Ord.Ord a => Data.Ord.Ord (Down a)
  instance Text.Read.Read a => Text.Read.Read (Down a)
  instance Text.Show.Show a => Text.Show.Show (Down a) 
  