code: func verifyIDEqualValue(expr *ast.BinaryExpr) (name string, value variableValue, err error) {
  	id, ok := expr.X.(*ast.Ident)
  	if !ok {
  		err = errors.New("left operand of == must be identifier")
  		return
  	}
  	name = id.Name
  
  	val, ok := expr.Y.(*ast.BasicLit)
  	if ok && val.Kind == token.INT {
  		if i, parseErr := strconv.Atoi(val.Value); parseErr != nil {
  			err = errors.New("right operand of == must be int or string value")
  		} else {
  			value.I = &i
  		}
  	} else if ok && val.Kind == token.STRING {
  		// val.Value includes quotation marks, but we need just pure string.
  		s := val.Value[1 : len(val.Value)-1]
  		value.S = &s
  	} else {
  		err = errors.New("right operand of == must be int or string value")
  	}
  	return
  }
docs: // verifyIDEqualValue processes identifier == (int | string) part of Condition.