    :email_configured      (not (s/blank? (or (get :email-smtp-host) (get-from-env-var :email-smtp-host))))
    :admin_email           (get :admin-email)})
 
-;; # IMPLEMENTATION
+;;; # IMPLEMENTATION
 
 (defn- restore-cache-if-needed []
   (when-not @cached-setting->value

       {::is-setting?   true
        ::default-value ~default-value
        ::options       ~options}
       ([]
        (or (get ~setting-key)
            (get-from-env-var ~setting-key)
            ~default-value))
       ([value#]
        (if-not value#
          (delete ~setting-key)
          (set ~setting-key value#))))))


;; ## ALL SETTINGS (ETC)

(defn all
  "Return a map of all *defined* `Settings`.

  (swap! cached-setting->value dissoc k)
  (del Setting :key (name k)))

(defn set*
  "Set the value of a `Setting`, deleting it if VALUE is `nil` or an empty string."
  [setting-key value]
  (if (or (not value)
          (and (string? value)
               (not (seq value))))
    (delete setting-key)
    (set setting-key value)))


;;; ## DEFSETTING

(defmacro defsetting
  "Defines a new `Setting` that will be added to the DB at some point in the future.
