Appearance
type RouterRoutes<TRouter> = TRouter extends Router<infer TRoutes> ? TRoutes : Routes;
TRouter
Router