 
 (def new-router-schema
   {:uri-context s/Str
+   :add-exception-context? s/Bool
    :not-found-handler (s/=>* {:status s/Int
                               s/Keyword s/Any}
                              [{:uri s/Str

                            ;; We wrap in some bidi middleware which
                            ;; allows us to form URIs via a
                            ;; keyword-path: [component-key handler-key]
                            (->KeywordIndirection [(routes v)] ckey handlers)]))])))
  (stop [this] this)

  WebService

  [& {:as opts}]
  (->> opts
    (merge {:uri-context ""
            :add-exception-context? false
            :not-found-handler (constantly {:status 404 :body "Not found"})})
       (s/validate new-router-schema)
       map->Router))
