code: def prefix(url_prefix: str,
             children: Iterable[Union[Route, RouteGenerator]],
             ) -> RouteGenerator:
      
      for route in _reduce_routes(children):
          route = route.copy()
          route.rule = join(url_prefix, route.rule,
                            trailing_slash=route.rule.endswith('/'))
          yield route
docs: Sets a prefix on all of the child routes passed to it. It also supports nesting, eg::
  
          routes = lambda: [
              prefix('/foobar', [
                  controller('/one', OneController),
                  controller('/two', TwoController),
                  prefix('/baz', [
                      controller('/three', ThreeController),
                      controller('/four', FourController),
                  ])
              ])
          ]
  
      :param url_prefix: The url prefix to set on the child routes
      :param children: