Programming in Haskell - Hutton, Graham (Cambridge University Press, 2007)