code: func IntOperand(x ast.Value, pos int) (int, error) {
  	n, ok := x.(ast.Number)
  	if !ok {
  		return 0, NewOperandTypeErr(pos, x, "number")
  	}
  
  	i, ok := n.Int()
  	if !ok {
  		return 0, NewOperandErr(pos, "must be integer number but got floating-point number")
  	}
  
  	return i, nil
  }
docs: // IntOperand converts x to an int. If the cast fails, a descriptive error is
  // returned.