haskell homework