     :else
     '()))
 
-(defn rename-sym [expr renames]
+(defn- rename-sym [expr renames]
   (get renames expr expr))
 
-(defn rename [expr renames]
+(defn- rename [expr renames]
   (cond
     (symbol? expr)
     (rename-sym expr renames)

                  sym->ap)]
      [(mapv vector (:syms summ) (:aps summ)) (:body summ)])))

(defn dedupe-symbols
  [bindings body]
  (let [syms (map first bindings)
        aps (map second bindings)
        sym->ap (mapv vector syms aps)]
    (dedupe-symbols* sym->ap body)))

(defn dependency-map
  [sym->ap]
  (let [syms (map first sym->ap)
        symset (set syms)]

                      `(bind ~r (fn [~l] ~acc))))
                  `(do ~@body)))))

(defn- deps [expr syms]
  (cond
    (and (symbol? expr)
         (contains? syms expr))
