            ...))
 
 
-    If you put this Interceptor on handlers which might change paths :a or :b,
-    it will:
-
-     - call `f` each time the value at path [:a] or [:b] changes
-     - call `f` with the values extracted from [:a] [:b]
-     - assoc the return value from `f` into the path  [:c]
+  If you put this Interceptor on handlers which might change paths `:a` or `:b`,
+  it will:
+
+    - call `f` each time the value at path `[:a]` or `[:b]` changes
+    - call `f` with the values extracted from `[:a]` `[:b]`
+    - assoc the return value from `f` into the path  `[:c]`
   "
   [f out-path & in-paths]
   (apply std-interceptors/on-changes (into [f out-path] in-paths)))

        (fn [_ _]  re-frame/app-db)   ;; <--- explicit signal-fn
        a-computation-fn)             ;; has signature:  (fn [db query-vec]  ... ret-value)

  Third, Syntax Sugar

      (reg-sub
        :a-b-sub

     is given as the 1st argument when `a-computation-fn` is called.


  Second variation - a signal function is explicitly supplied:

      (reg-sub
        :query-id
