This golfs down to: (* // "foo").WHAT.say
All the boolean ops see not to. Just to see what would happen I applied the following patch locally: --- a/src/Perl6/Actions.nqp +++ b/src/Perl6/Actions.nqp @@ -7744,6 +7744,10 @@ Compilation unit '$file' contained the following violations: %curried{'&infix:<^..^>'} := 2; %curried{'&infix:<xx>'} := 2; %curried{'callmethod'} := 3; + %curried{'if'} := 3; + %curried{'defor'} := 3; + %curried{'unless'} := 3; + %curried{'xor'} := 3; %curried{'p6callmethodhow'} := 3; %curried{'&postcircumfix:<[ ]>'} := 3; %curried{'&postcircumfix:<{ }>'} := 3; This did cause //, and, &&, orelse, etc. to autocurry, with the surprising exceptions of ^^ and xor which never seem to reach the whatever_curry rule. Another op that does not includes infix:<min>. This caused no spectest failures, but needs a combined check with design folks and implementation folks given the interaction of conditionals with the optimizer.