Checks if mixed-type arithmetic operations are allowed, particularly handling
unspecified literals that can be coerced to match the other operandโs type.
This function handles type coercion for arithmetic operations when operands have different types.
Checks if a type is compatible with an arithmetic operation when both operands have the same type.
Boolean types are not allowed for any arithmetic operation.
String types are only allowed for the Add operator (concatenation).
Unit types and function types are not allowed for any arithmetic operation.
Checks if an unspecified integer literal is in the valid range for a target type.
This is used when coercing an integer literal to a specific integer type.