(defn analyze-map
[env form]
(let [expr-env (assoc env :context :expr)
ks (disallowing-recur (vec (map #(analyze expr-env %) (keys form))))
vs (disallowing-recur (vec (map #(analyze expr-env %) (vals form))))]
(analyze-wrap-meta {:op :map :env env :form form
:keys ks :vals vs
:children (vec (interleave ks vs))
:tag 'cljs.core/IMap})))