Haskell: problem 4