Solutions to Haskell course from University of Pennsylvania