Monad and Monoid added.