Clojure port of `eval-assignment` template