# Monads As Programmable Semicolons

Here is my version of “yet another monad tutorial”. In this tutorial I will not cover specific examples of `Monad`

implementations in detail since I think that this distracts from the goal of understanding the overall abstraction. I will also not cover some of the simpler type classes such as `Functor`

and `Monoid`

in detail, since these aren’t really that important for understanding `Monad`

.