code: func (pe PathExpression) pushBackOneIndexLeg(index int) PathExpression {
  	newPe := PathExpression{
  		legs:  append(pe.legs, pathLeg{typ: pathLegIndex, arrayIndex: index}),
  		flags: pe.flags,
  	}
  	if index == -1 {
  		newPe.flags |= pathExpressionContainsAsterisk
  	}
  	return newPe
  }
docs: // pushBackOneIndexLeg pushback one leg of INDEX type