    (analyze-deps bound-vars ana-env lib deps nil cb))
   ([bound-vars ana-env lib deps opts cb]
    (when (:verbose opts)
-     (debug-prn "Loading dependencies"))
+     (debug-prn "Loading dependencies for" lib))
    (let [compiler @(:*compiler* bound-vars)]
      (binding [ana/*cljs-dep-set* (vary-meta (conj (:*cljs-dep-set* bound-vars) lib)
                                     update-in [:dep-path] conj lib)]


(defn load-macros [bound-vars k macros reload reloads opts cb]
  (if (seq macros)
    (let [env  (:*compiler* bound-vars)
          nsym (first (vals macros))]
      (let [k (or (k reload)
                  (get-in reloads [k nsym])
                  (and (= nsym name) (:*reload-macros* bound-vars) :reload))]
        (require bound-vars nsym k (assoc opts :macros-ns true)
          (fn [res]
            (if-not (:error res)
              (load-macros bound-vars k (next macros) reload reloads opts cb)
              (cb res))))
        ;(intern-macros nsym k)
        ))
    (cb {:value nil})))

(defn ns-side-effects

                             {:*cljs-ns* 'cljs.user
                              :*ns* (create-ns ana/*cljs-ns*)})
                     (:source-map opts) (assoc :*sm-data* (sm-data)))]
    (when (:verbose opts) (debug-prn "Evaluating" name))
    ((fn compile-loop [ns]
       (binding [env/*compiler*         (:*compiler* bound-vars)
                 *eval-fn*              (:*eval-fn* bound-vars)
