newtype Op a b
= Op (b -> a)
runOp :: forall a b. Op a b -> b -> a
instance semigroupoidOp :: Semigroupoid Op
instance categoryOp :: Category Op
instance contravariantOp :: Contravariant (Op a)
instance semigroupOp :: (Semigroup a) => Semigroup (Op a b)
instance monoidOp :: (Monoid a) => Monoid (Op a b)
instance semiringOp :: (Semiring a) => Semiring (Op a b)
instance moduloSemiringOp :: (ModuloSemiring a) => ModuloSemiring (Op a b)
instance ringOp :: (Ring a) => Ring (Op a b)
instance divisionRingOp :: (DivisionRing a) => DivisionRing (Op a b)
instance numOp :: (Num a) => Num (Op a b)