Exercises from http://www.haskell.org/haskellwiki/Typeclassopedia