 
 (defn analyze* [env form name opts]
   (let [passes *passes*
-        passes (when (nil? passes) [infer-type])
+        passes (when (nil? passes)
+                 #?(:clj  [infer-type ns-side-effects]
+                    :cljs [infer-type]))
         form   (if (instance? LazySeq form)
                  (if (seq form) form ())
                  form)

                  ns-info))
              ns-info)]
        (swap! env/*compiler* update-in [::namespaces name] merge ns-info)
        (merge {:op :ns :env env :form form
                :reloads @reloads}
          (cond-> ns-info
            (@reload :use)

                (map (spec-parsers k)
                  (remove #{:reload :reload-all} libs))))
            {} (remove (fn [[r]] (= r :refer-clojure)) args))]
      (set! *cljs-ns* name)
      (let [ns-info
            {:name           name
             :doc            (or docstring mdocstr)
