solutions for problems in Programming-in-Haskell by Graham Hutton