my answers for the exercises in Real World Haskell