Haskell/Understanding arrows - Wikibooks, open books for an open world