Solutions to Brent Yorgey's CIS 194 Introduction to Haskell course