when i was growing up i had to learn about monads the hard way. the first thing i learned was that monads are like burritos. then i had to learn what a burrito is. i had a burrito for the first time. it was great. then i learned that monads were not like burritos at all and i had just wasted my time if all i wanted to learn was about monads. but burritos were actually quite tasty. the real monad tutorial was the burritos we learned about along the way.