A project suggested by "Haskell: The Craft of Functional Programming"