A warning or error is needed when a value is truncated
Constant expressions are cast to nML types depending of the context. For example, in expressions of kind "
VARIABLE operator CONSTANT", CONSTANT is cast to the type of VARIABLE. If CONSTANT is larger than can be represented by the type, its higher bits are truncated. This can lead to unexpected results. For this reason, in such situations a warning or an error must be generated.
In "x + 32" where x has type card(5), 32 gets truncated to 0.