Exercises from Graham Hutton's "Programming in Haskell" (http://www.cs.nott.ac.uk/~pszgmh/pih.html)