docs: def get_func_args(func):
      """Given a callable, return a tuple of argument names. Handles
      `functools.partial` objects and class-based callables.
  
      .. versionchanged:: 3.0.0a1
          Do not return bound arguments, eg. ``self``.
      """
      if isinstance(func, functools.partial):
          return _signature(func.func)
      if inspect.isfunction(func) or inspect.ismethod(func):
          return _signature(func)
      # Callable class
      return _signature(func.__call__)