What I Wish I Knew When Learning Haskell 2.1 ( Stephen Diehl )