 
 (defn rewrite-fn*
   [form locals]
-  (println "Rewriting " form locals)
   (let [bodies (rest form)]
     `(fn* ~@(for [[params & body] bodies]
               `([~@locals ~@params]

  [{:keys [modules] :as ast} options]
  (->> (for [module modules]
         (binding [*ns* module]
           (println "Lifting lambdas in module" module)
           [module (lift-lambdas-in-module (get ast module))]))
       (into {})
       (merge ast)))

                                      (fn*->cannonical-fn*)
                                      (rewrite-fn* used-locals)))
              partial-form `(partial ~(symbol sym) ~@used-locals)
              def-ast      (util/ast def-form     (:env ast))
              partial-ast  (util/ast partial-form (:env ast))]

          ;; create the new def
          (swap! defs-atom conj def-ast)
