  
          Returns a list of the Route namedtuple.
          """
  
          known_actions = flatten([route.mapping.values() for route in self.routes])
  
          # Determine any `@action` or `@link` decorated methods on the viewset
          detail_routes = []
          list_routes = []
          for methodname in dir(viewset):
 
</s> remove             if route.key == 'dynamic':
 </s> add             if isinstance(route, DynamicDetailRoute): </s> remove Route = namedtuple('Route', ['key', 'url', 'mapping', 'name', 'initkwargs'])
 </s> add Route = namedtuple('Route', ['url', 'mapping', 'name', 'initkwargs'])
DynamicDetailRoute = namedtuple('DynamicDetailRoute', ['url', 'name', 'initkwargs'])
DynamicListRoute = namedtuple('DynamicListRoute', ['url', 'name', 'initkwargs']) </s> remove             elif route.key == 'collection':
 </s> add             elif isinstance(route, DynamicListRoute): </s> remove                         key=route.key,
 </s> add  </s> remove                         key=route.key,
 </s> add 
        known_actions = flatten([route.mapping.values() for route in self.routes if isinstance(route, Route)])
  
          Returns a list of the Route namedtuple.
          """
  
        known_actions = flatten([route.mapping.values() for route in self.routes if isinstance(route, Route)])
  
          # Determine any `@action` or `@link` decorated methods on the viewset
          detail_routes = []
          list_routes = []
          for methodname in dir(viewset):
keep keep keep keep replace keep keep keep keep keep
 Introduce DynamicDetailRoute and DynamicListRoute to distinguish between different route types 
rest_framework/routers.py