code: func (p *Parser) Args(dot bool) (bool, error) {
  
  	if p.PeekByte() != '(' {
  		return false, nil
  	}
  	p.Byte()
  
  	i := p.ev.Level()
  
  	if dot {
  		p.ev.Add(TypeGroup)
  	} else {
  		p.ev.Add(TypeArguments)
  	}
  	p.ev.Inc()
  
  	p.WhiteSpace()
  	p.ArgList()
  	p.WhiteSpace()
  
  	if p.PeekByte() != ')' {
  		return false, errors.New("missing )")
  	}
  	p.Byte()
  
  	// Level before and after is the same
  	p.ev.SetLevel(i)
  	return true, nil
  }
docs: // Args ::= '(' space? sequence? space? ')'