docs: def match(self, url: str) -> RouteResolved:
          """
          Match a URL to a registered pattern.
  
          :param url: URL
          :return: Matched route
          :raises kua.RouteError: If there is no match
          """
          url = normalize_url(url)
          parts = self._deconstruct_url(url)
          return self._match(parts)