title: Haskell newtype that reverses or flips order
body: <p>There's probably already a <code>newtype</code> that flips the sense of Ord, Bounded, etc. Something along the lines of</p>
  
  <pre><code>newtype FlipOrd a = FlipOrd {unFlip :: a} deriving (Eq)
  
  instance (Ord a) =&gt; Ord (FlipOrd a) where
      compare = flip compare
  
  instance (Bounded a) =&gt; Bounded (FlipOrd a) where
      minBound = FlipOrd maxBound
      maxBound = FlipOrd minBound
  </code></pre>
  
  <p>Where does this live in the existing Haskell packages?</p>
  
  <p>Note: There's an existing <code>Reverse</code> <code>Functor</code>, which does something very different, and fortunately has a completely incompatible kind.</p>