docs: def _handle_argument(self, token):
          """Handle a case where an argument is at the head of the tokens."""
          name = None
          self._push()
          while self._tokens:
              token = self._tokens.pop()
              if isinstance(token, tokens.ArgumentSeparator):
                  name = self._pop()
                  self._push()
              elif isinstance(token, tokens.ArgumentClose):
                  if name is not None:
                      return Argument(name, self._pop())
                  return Argument(self._pop())
              else:
                  self._write(self._handle_token(token))
          raise ParserError("_handle_argument() missed a close token")