Maintainer  diagramsdiscuss@googlegroups.com 

Safe Haskell  SafeInferred 
The monoid of endomorphisms over any Category
.
 newtype Endomorphism k a = Endomorphism {
 getEndomorphism :: k a a
Documentation
newtype Endomorphism k a Source
An Endomorphism
in a given Category
is a morphism from some
object to itself. The set of endomorphisms for a particular
object form a monoid, with composition as the combining operation
and the identity morphism as the identity element.
Endomorphism  

Category k => Monoid (Endomorphism k a)  
(Category k, Groupoid k) => Group (Endomorphism k a)  
Semigroupoid k => Semigroup (Endomorphism k a) 