                ""
                ""))
 
-
-
-
-
-
-
 (defn get-config [configs]
-  (try
-    (reduce
-     merge
-     (map
-      tag/read-string
-      (map
-       default-slurp
-       configs)))
-    (catch Exception e
-      (binding [*out* *err*]
-        (println "Warning: problem reading config files, they were not used:"
-                 (str "\n"
-                      (string/join
-                       \newline
-                       (map #(str "  - " %)
-                            configs)))))
-      (hash-map))))
-
+  (as-> configs it
+        (map default-slurp it)
+        (map (fn [{:keys [file read-fn]}]
+               (read-fn file))
+             it)
+        (reduce merge it)
+        (try it
+          (catch Exception e
+            (binding [*out* *err*]
+              (println "Warning: problem reading config files, they were not used:"
+                       (str "\n"
+                            (string/join
+                              \newline
+                              (map #(str "  - " %)
+                                   configs)))))
+            (hash-map)))))
 
 
 (defn -main [& args]

            (parseplz! subcommand (rest arguments) (get subcommand-cli subcommand))]
        (let [config-files
              (if (empty? (:config-files global-options))
                [(fs/file (fs/expand-home "./degasolv.edn"))]
                (:config-files global-options))
              config
              (get-config config-files)

   :description "Degasolv: You love me."
   :cli
   [["-c" "--config-file FILE" "Config file location **"
     :id :edn-config-files
     :default []
     :default-desc "./degasolv.edn"
     :assoc-fn
     (fn [m k v] (update-in m [:config-files]
                            #(conj %1 {:file %2
                                       :read-fn tag/read-string})))]
    ["-j" "--json-config FILE" "JSON config file location **"
     :id :json-config-files
     :default []
     :default-desc ""
     :assoc-fn
     (fn [m k v] (update-in m [:config-files]
                            (fn add-cfg [coll v]
                              (conj coll {:file v
                                          :read-fn #(json/read-str % :key-fn keyword)}))))]
    ["-k" "--option-pack PACK" "Specify option pack **"
     :id :option-packs
     :default []
