                        cljs.analyzer/*cljs-file*))))))
     (assoc m test expr)))
 
-(defn- const? [env x]
+(core/defn- const? [env x]
   (core/let [m (core/and (core/list? x)
                          (ana/resolve-var env (last x)))]
     (core/when m (core/get m :const))))


;;; internal -- reducers-related macros

(defn- do-curried
  [name doc meta args body]
  (core/let [cargs (vec (butlast args))]
    `(defn ~name ~doc ~meta

       [~@fields]
       (new ~rname ~@field-values))))

(core/defn- validate-fields
  [case name fields]
  (when-not (vector? fields)
    (throw
