Learning Haskell for fun and profit.