    :locals     {}
    :ns         *ns*})
 
+;; TODO handle js-ns/foo
 (defn desugar-host-expr [[op & expr :as form]]
   (if (symbol? op)
     (let [opname (name op)]

       {:meta metadata}))))

(defn run-passes [ast]
  (-> ast))

(defn analyze
  ([form] (analyze form (empty-env) {}))

             [ast :refer [prewalk]]
             [env :as env :refer [*env*]]]
            [clojure.tools.analyzer.passes
             [source-info :refer [source-info]]
             [cleanup :refer [cleanup]]
             [elide-meta :refer [elide-meta elides]]
             [warn-earmuff :refer [warn-earmuff]]
             [add-binding-atom :refer [add-binding-atom]]
             [uniquify :refer [uniquify-locals]]]
            [clojure.tools.analyzer.js.utils
             :refer [desugar-ns-specs validate-ns-specs ns-resource source-path res-path]]
            [clojure.java.io :as io]
