docs: def url_for(obj, **kw):
      """Polymorphic variant of Flask's `url_for` function.
  
      Behaves like the original function when the first argument is a
      string. When it's an object, it
      """
      if isinstance(obj, str):
          return flask_url_for(obj, **kw)
  
      try:
          return current_app.default_view.url_for(obj, **kw)
      except KeyError:
          if hasattr(obj, "_url"):
              return obj._url
          elif hasattr(obj, "url"):
              return obj.url
  
      raise BuildError(repr(obj), kw, "GET")