Real World Haskell example and exercises ch01-02