Part 1 of a tutorial on monads · HackerTrans