a monad is just a monoid in the category of endofunctors ...