Solutions to the "Ninety-Nine Haskell Problems," http://www.haskell.org/haskellwiki/99_questions