In trying to write some algorithms using the proposed higher-order function notation, I keep finding myself wanting to explicitly bracket parts of the curried expression: $sum_xy = sub {reduce ^last+^x*^y, zip($_[0], $_[1])}; Sure, in this case reduce() would probably be written such that its first argument is explicitly a curried expression: sub reduce (^expression, @list) { ... } but that's not going to be the case for every function you want to include in a curried expression. So I was wondering if we should add to RFC 23 another currying halting rule, that currying halts when it hits a brace {}. Then, you can be sure that the following works as you expect: $sum_xy = reduce {^last+^x*^y}, zip(^first_list, ^second_list);