          :id     :my-interceptor
          :before (fn [context]
                    ... modifies and returns `context`)
-         :after  (fn [context] 
+         :after  (fn [context]
                    ... modifies and returns `context`)))
-   
+
   Notes:
-  
-    - `:before` functions modify and return their `context` argument. Sometimes they 
+
+    - `:before` functions modify and return their `context` argument. Sometimes they
       only side effect, in which case, they'll perform the side effect and return
       `context` unchanged.
-    - `:before` functions often modify the `:coeffects` map within `context` and, 
-      if they do, then they should use the utility functions `get-coeffect` and 
+    - `:before` functions often modify the `:coeffects` map within `context` and,
+      if they do, then they should use the utility functions `get-coeffect` and
       `assoc-coeffect`.
-    - `:after` functions modify and return their `context` argument. Sometimes they 
-      only side effect, in which case, they'll perform the side effect and return 
+    - `:after` functions modify and return their `context` argument. Sometimes they
+      only side effect, in which case, they'll perform the side effect and return
       `context` unchanged.
-    - `:after` functions often modify the `:effects` map within `context` and, 
+    - `:after` functions often modify the `:effects` map within `context` and,
       if they do, then they should use the utility functions `get-effect`
       and `assoc-effect`"
   {:api-docs/heading "Writing Interceptors"}

  (settings/reg-global-interceptor interceptor))

(defn clear-global-interceptor
  "Unregisters global interceptors (presumably registered previously via the use of `reg-global-interceptor`). 
   
  When called with no args, it will unregister all currently registered global interceptors. 
   
  When given one arg, assumed to be the `id` of a previously registered 
  global interceptors, it will unregister the associated interceptor. Will produce a warning to 
  console if it finds no matching registration."
  {:api-docs/heading "Global Interceptors"}
  ([]

        :namespaced/id           ;; <-- namespaced keywords are often used
        [one two three]          ;; <-- a seq of interceptors
        (fn [db [_ arg1 arg2]]   ;; <-- event vector is destructured
          (-> db
            (dissoc arg1)
            (update :key + arg2))))   ;; return updated db
  "
