 (defmacro gen-module-requires
   "Generate the `require` statements to pull in all necessary
   namespaces to be able to connect the modules. That is, all the
-  namespaces named in both `:extends` and `:provides`."
+  namespaces named in both `:extends` and `:provides`.
+  It seems that this should be in a separate namespace from
+  `gen-module-loads`, or the namespaces won't yet be loaded when the
+  extension calls are made."
   []
   (let [modules (read-all-modules)
         provides (->> modules

(ns braid.core.module-helpers
  (:require
   [clojure.tools.reader.edn :as edn]
   [clojure.java.io :as io]))

            [_#]
            (reduce
              (fn [vs# th#]
                ;; In Clojure the module-loading will store the Vars
                ;; themselves so we can just deref them, but in
                ;; Clojurescript vars aren't reified at runtime, so
                ;; module loading passes thunks
                (~add-fn vs# (~(if clojure?
                                 `deref
                                 `(fn [x#] (x#)))
