Solutions to the exercises in Real World Haskell