The H99 Challenge (http://www.haskell.org/haskellwiki/99_questions)