Brent Yorgey's Haskell course solutions