Learn Me a Haskell for Great Good