Working through the AI: a Modern Approach exercises in haskell