some more datapoints:
12:14:52] <FROGGS> eww: [12:14:59] <FROGGS> p: sub infix:<+>(int $a, int $b) { nqp::add_i($a, $b) }; my int $chars; say $chars + 1 + nqp::eqat(nqp::unbox_s("a"), nqp::unbox_s("b"), 0) [12:15:00] <+camelia> rakudo-parrot 351c12: OUTPUT«0» [12:15:05] <FROGGS> p: sub infix:<+>(int $a, int $b) { 7; nqp::add_i($a, $b) }; my int $chars; say $chars + 1 + nqp::eqat(nqp::unbox_s("a"), nqp::unbox_s("b"), 0) [12:15:07] <+camelia> rakudo-parrot 351c12: OUTPUT«1» [12:15:36] <FROGGS> I guess it is an optimization problem with infix:<+> on natives