Haskell: problem 5
Haskell: problem 6
Haskell: problem 7