A monad is a monoid in the category of endofunctors, what’s the problem?

A monad is a monoid in the category of endofunctors, what’s the problem?

In the world of Haskell, we have the category , whose objects are Haskell types and whose arrows are functions between these types. So let’s introduce , the category whose objects are endofunctors on , and whose arrows are natural transformations between these endofunctors. Instead of elements of a set, we have objects in a category; instead of a binary operation we have the functor ; instead of an identity element we have a unit object; and instead of equations involving elements of a set, we have natural transformations between functors built using .

Source: www.reddit.com