The token `%()` isn't an empty hash, it's a synonym for `%$/` or `$/.hash`.
'foo' ~~ /$<bar>=.*/; say %(); # Map.new((:bar(Match.new... Similarly, `@()` is a synonym for `@$/` or `$/.list`. ---- These tokens are documented at https://docs.perl6.org/language/variables#index-entry-variable_%24%3Cnamed%3E-variable_%2525%28%29-Named_Attributes ---- If there hasn't been significant adoption of these tokens in extant code then I'd personally +1 deprecation of them in v6.d in favor of `%$/` and `@$/`.