# Data.Morphisms

(~>) : Type -> Type -> Type
  Fixity
    Left associative, precedence 1
applyMor : Morphism a b -> a -> b
applyKleisli : Monad m => Kleislimorphism m a b -> a -> m b
applyEndo : Endomorphism a -> a -> a
data Morphism : Type -> Type -> Type
  Mor : (a -> b) -> Morphism a b
data Kleislimorphism : (Type -> Type) -> Type -> Type -> Type
  Kleisli : Monad m => (a -> m b) -> Kleislimorphism m a b
data Endomorphism : Type -> Type
  Endo : (a -> a) -> Endomorphism a