Code showing EDSL design and implementation in Clojure