Describir: Functional programming patterns in Scala and Clojure :