Would this trick help? You can define a "subset" that restricts values to the uint16 range:
my subset FussyUint16 of Int where 0 ..^ 2¹⁶; my FussyUint16 $x; $x = -1; ## Type check failed in assignment to $x; expected FussyUint16 but got Int (-1)
Would this trick help? You can define a "subset" that restricts values to the uint16 range:
my subset FussyUint16 of Int where 0 ..^ 2¹⁶; my FussyUint16 $x; $x = -1; ## Type check failed in assignment to $x; expected FussyUint16 but got Int (-1)