class Invariant (t :: * -> *) where Source #
When providing a new instance, you should ensure it satisfies the two laws:
Identity morphisms: invmap identity identity = identity
Composition of morphisms: invmap g j . invmap f h = invmap (g . f) (h . j)
Minimal complete definition
(<$<)