Domain Driven Design in Clojure with generalized Hiccup