   "Acts as an adaptor, allowing handlers to be writen as pure functions.
   The re-frame router will pass in an atom as the first parameter. This middleware
   adapts that to the value within the atom.
-  If you strip away the error/efficiency checks, this middleware does this:
+  If you strip away the error/efficiency checks, this middleware is just:
      (reset! app-db (handler @app-db event-vec))"
   [handler]
   (fn new-handler



(defn trim-v
  "Middleware which removes the first element of v. It means you can write
  more asthetically pleasing handlers"
  [handler]
  (fn new-handler
    [db v]



(defn debug
  "Middleware which logs debug information to js/console for each event.
  Includes a clojure.data/diff of the db, before vs after, showing changes."
  [handler]
  (fn new-handler
