Learn-you-a-Haskell-for-great-good

do notation