Relevant: https://rt.perl.org/Ticket/Display.html?id=123934#txn-1401917
In short, `||` alternations don't respect `:` in Rakudo, whereas `|` alternations (and other atoms such as quantifiers) do respect it. Simpler test-case: ➜ say "ab" ~~ / [ "ab" | "a" ]: "b" /; Nil ➜ say "ab" ~~ / [ "ab" || "a" ]: "b" /; 「ab」 (Remember that `:ratchet` simply adds `:` to every atom.)