Sailing Instead of Rowing

Meanderings on Haskell and Lazy Evaluation