    (mixed-router routes {}))
   ([routes opts]
    (let [{wild true, lookup false} (group-by impl/wild-route? routes)
-         compiled (compile-routes routes opts)
          ->static-router (if (= 1 (count lookup)) single-static-path-router lookup-router)
          wildcard-router (segment-router wild opts)
          static-router (->static-router lookup opts)

   (let [{:keys [router] :as opts} (meta-merge default-router-options opts)
         routes (resolve-routes raw-routes opts)
         conflicting (conflicting-routes routes)
         wilds? (boolean (some impl/wild-route? routes))
         all-wilds? (every? impl/wild-route? routes)
         router (cond

       (router-name [_]
         :linear-router)
       (routes [_]
         routes)
       (options [_]
         opts)
       (route-names [_]
