docs: def _getArgNames(spec):
      """
      Get the name of all arguments defined in a function signature.
  
      The name of * and ** arguments is normalized to "*args" and "**kwargs".
  
      :param ArgSpec spec: A function to interrogate for a signature.
      :return: The set of all argument names in `func`s signature.
      :rtype: Set[str]
      """
      return set(
          spec.args
          + spec.kwonlyargs
          + (('*args',) if spec.varargs else ())
          + (('**kwargs',) if spec.varkw else ())
          + spec.annotations
      )