Solutions to the exercises from the Haskell Typeclassopedia