         (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))

        state)))

(defn reload
  "Executes remove/reload operations on a dependency tracker until
  either an error is encountered or there are no more pending
  operations."
  [state]
  (loop [state (dissoc state :error)]

                             load))))))

(defn remove-files
  "Returns an updated dependency tracker after removing files. The
  files must have been previously added to the dependency tracker
  using add-files."
  [state files]
  (-> state
      (remove-names (keep (:filemap state {}) files))
