working my way through 99 haskell problems