   :reload
   : enables the above-described reloading of the handler.
 
+  :lazy
+  : if true (and :reload is false) then the handler is not created until first needed, rather
+    then immediately on invoking this function.
+
   :debug
   : enables logging (at debug level) of each incoming request via [[wrap-debug-request]]
     and [[wrap-debug-response]]

  (fn [request]
    ((creator) request)))

(defn wrap-log-request
  "Logs incoming requests (as info), identifying method and URI."
  [handler]


  The extra middleware is added around the root handler (or the
  reloading handler that creates the root handler)."
  [{:keys [reload log debug track standard exceptions lazy]} creator & creator-args]
  (let [creator' (wrap-creator creator creator-args)
        handler (cond
                  reload
                  (reloading-handler creator')

                  lazy
                  (lazy-handler creator')

                  :else
                  ;; Or just do it once, right now.
                  (creator'))]
    (cond-> handler
