   (dosync (alter @#'clojure.core/*loaded-libs* disj lib)))
 
 (defn reload-one
-  "Executes one unload/reload operation; returns updated dependency
-  tracker indicating errors and which namespaces remain to be
-  removed/reloaded."
+  "Executes the next pending unload/reload operation in the dependency
+  tracker. Returns the updated dependency tracker. If reloading caused
+  an error, it is captured as :error."
   [state]
   (let [{:keys [unload load]} state]
     (cond

   :load ()})

(defn add
  "Depmap is a map from a namespace name to the set of names of
  namespaces it depends on."
  [state depmap]
  (let [{:keys [load unload deps nsmap]} state
        new-deps (update-deps deps depmap)

        (update-in [:filemap] (fnil merge {}) filemap))))

(defn remove-names
  "Returns an updated dependency tracker from which the namespaces
  (symbols) have been removed. The :unload and :load lists indicate
  the order in which namespaces should be un/reloaded to reflect this
  change, as with add."
  [state names]
  (let [{:keys [load unload deps]} state
        known (set (dep/keys deps))
