Add Haskell solution for problems 2,3, and 4