Nom currently has a problem which IMHO is in big parts a spec issue. Here it comes.
Since no separate literals for native types are specced, a literal like 123 in is polymorphic in rakudo, and can be used both as Int or int, depending on compile-time context.
Unfortunately that means that an expression like 0x7FFFFFFF * 0x7FFFFFFF will overflow on a machine with 32 bit ints, because the compiler picks the infix:<*>(int, int) candidates, which overflows (as it is allowed to).
0x7FFFFFFF * 0x7FFFFFFF
I can see several possible solutions:
my int $x = 2; $x * 5
Failures from the current situation visible in t/spec/S03-operators/overflow.t using rakudo/nom on feather.
Temp values default to boxed unless 'use native'
Attempt to bring some correctness (with the option for speed) to
the use of builtin operators that might return boxed or unboxed
values. Also wave hands feebly about native literals.
Attempts to resolve #8.