added the ability to read arbitrary clojure structures from templates