Solutions to exercise problems in Real World Haskell