code: func (p *parser) expect(exp ItemType, context string) item {
  	token := p.next()
  	if token.typ != exp {
  		p.errorf("unexpected %s in %s, expected %s", token.desc(), context, exp.desc())
  	}
  	return token
  }
docs: // expect consumes the next token and guarantees it has the required type.