Reader Monad.
Writer Monad.
Monoid