code: func (p *parser) parseBracket() error {
  	if p.peek() == '?' {
  		return p.parseFilter()
  	} else if p.peek() == '*' {
  		p.scan() // eat *
  		if p.scan() != ']' {
  			return fmt.Errorf("expected closing bracket after [* at %d", p.column())
  		}
  		return p.prepareWildcard()
  	}
  	return p.parseArray()
  }
docs: // bracket contains filter, wildcard or array access