Ad-hoc associativity
sub as-left(&f) {
sub infix:<@>(|xs) is assoc<left> {
&f(|xs);
}
&infix:<@>;
}
sub as-right(&f) {
sub infix:<@>(|xs) is assoc<right> {
&f(|xs);
}
&infix:<@>;
}
say (|("a" .. "f"), "Unit").reduce(as-right({"Tuple $^a ($^b)"}));
INFO