 
 (def modules
   {:rest-api {:prerequisites [:trade-db :logger :monitor]
-              :init-sequence #(println "rest ai init")
-              :shut-sequence #(println "rest ai shut")}
+              :init-sequence [println "rest ai init"]
+              :shut-sequence [println "rest ai shut"]}
    :trade-db {:prerequisites [:monitor]
-              :init-sequence #(println "trade db init")
-              :shut-sequence #(println "trade db shut")}
+              :init-sequence [println "trade db init"]
+              :shut-sequence [println "trade db shut"]}
    :monitor {:prerequisites []
-             :init-sequence #(println "monitor init")
-             :shut-sequence #(println "monitor shut")}
+             :init-sequence [println "monitor init"]
+             :shut-sequence [println "monitor shut"]}
    :logger {:prerequisites [:monitor]
-            :init-sequence #(println "logger init")
-            :shut-sequence #(println "logger shut")}})
+            :init-sequence [println "logger init"]
+            :shut-sequence [println "logger shut"]}})
 
 (def module-dependencies
   (reduce-kv


(defn run-init-sequence
  []
  (map (fn [f] (f)) (:init-sequence global-init-shut-sequence)))

;; --------------------------------------------------------
;; Example 7: Generating some code based on data structure


(defmacro add-m-4
  [a b]
  `(constexpr add ~a ~b))

(def x1 1)
