haskell-contravariant-extras