   [provides modules]
   (doseq [[k v] (mapcat :extends modules)]
     (require (symbol (namespace v)))
-    ((get! provides k) (deref (resolve v)))))
+    ((get! provides k) (deref (resolve! v)))))
 
 (defn load-modules!
   []

      (reduce-kv
        (fn [m k {f-name :fn}]
          (require (symbol (namespace f-name)))
          (assoc m k (resolve f-name)))
        {})))

(defn get! [m k]

  []
  (map read-module module-files))

(defn resolve!
  [s]
  (or (resolve s) (throw (ex-info (str "Couldn't resolve " s)
                                  {:symbol s}))))

(defn build-provides
  [modules]
  (->> (map :provides modules)
