       ~@(emit (assoc instance :tag class) frame)
       ~@(mapcat #(emit % frame) args)
       ~@(when to-clear?
-           [[:insn :ACONST_NULL]
-            [:var-insn :clojure.lang.Object/ISTORE 0]])
+          [[:insn :ACONST_NULL]
+           [:var-insn :clojure.lang.Object/ISTORE 0]])
       [~(if (.isInterface class)
           :invoke-interface
           :invoke-virtual)

(defmethod -emit :invoke
  [{:keys [fn args env to-clear?]} frame]
  (let [v       (-> fn :var)
        static? (-> v meta :static)]
    ;; general invoke case
    [(emit fn frame)
     (when-not static? [:check-cast :clojure.lang.IFn])

     [:invoke-virtual [(if (u/dynamic? var)
                         :clojure.lang.Var/get
                         :clojure.lang.Var/getRawRoot)] :java.lang.Object])))

(defmethod -emit-set! :var
  [{:keys [target val] :as ast} frame]
  `[~@(emit-var target frame)
