 
   These handlers take two arguments;  `db` and `event`, and they return `db`.
 
-  (fn [db event]
-     ....)
+      (fn [db event]
+         ....)
 
   So, the interceptor wraps the given handler:
      1. extracts two `:coeffects` keys: db and event

  you might give to clojure's `update-in`.

  Examples:
    (path :some :path)
    (path [:some :path])
    (path [:some :path] :to :here)
    (path [:some :path] [:to] :here)

  Example Use:

    (reg-event-db
      :event-id
      (path [:a :b])  ;; used here, in interceptor chain
      (fn [b v]       ;; 1st arg is now not db. Is the value from path [:a :b] within db
        ... new-b))   ;; returns a new value for that path (not the entire db)

  Notes:
    1. `path` may appear more than once in an interceptor chain. Progressive narrowing.


  These handlers take two arguments;  `coeffects` and `event`, and they return `effects`.

      (fn [coeffects event]
         {:db ...
          :dispatch ...})

   Wrap handler in an interceptor so it can be added to (the RHS) of a chain:
     1. extracts `:coeffects`
