              this-sym (gensym "_")
              locals   (keys (:locals &env))
              ns       (core/-> &env :ns :name)
-             munge    cljs.compiler/munge]
+             munge    comp/munge]
     `(do
        (when-not (exists? ~(symbol (core/str ns) (core/str t)))
          (deftype ~t [~@locals ~meta-sym]

            (core/number? default)
            (core/true? default)
            (core/false? default)) "a string, number or boolean as default value")
  (core/let [defname (cljs.compiler/munge (core/str *ns* "/" sym))
             type    (core/cond
                       (core/string? default) "string"
                       (core/number? default) "number"

  (:require clojure.walk
            clojure.set
            [clojure.string :as string]
            [cljs.compiler :as comp]
            [cljs.env :as env]
            #?(:cljs [cljs.core :as core])
            #?(:cljs [cljs.analyzer :as ana])))
