Understanding Haskell Monads - of all the tutorials I have seen on this topic so far, the most understandable for me.