working through 99 problems of Haskell