Exercises from Real World Haskell