Exercises and examples from the book "Programming in Haskell" by Graham Hutton