Sample from the PragProg book: Functional Programming Patterns in Scala and Clojure.