docs: def _get_args_and_defaults(args, defaults):
      """Return a list of 2-tuples - the argument name and its default value or
          a special value that indicates there is no default value.
  
      Args:
          args: list of argument name
          defaults: tuple of default values
      """
      defaults = defaults or []
      args_and_defaults = [(argument, default) for (argument, default)
                           in zip_longest(args[::-1], defaults[::-1],
                                          fillvalue=NoDefault)]
      return args_and_defaults[::-1]