case Remainder:
return GoTypes.constant(GoTypeConstant.Kind.Float, leftValue.divideAndRemainder(rightValue)[1]);
case ShiftLeft:
try {
BigInteger leftInteger = leftValue.toBigIntegerExact();
BigInteger rightInteger = rightValue.toBigIntegerExact();
return GoTypes.constant(GoTypeConstant.Kind.Integer, leftInteger.shiftLeft(rightInteger.intValue()));
} catch (ArithmeticException ex) {
return GoType.Unknown;
}