As a status update: The second evaluation still errors, but with a different error message. (IMHO the error message makes it clearer that the second 'do' is parsed as a keyword.)
$ perl6 -e 'my \do = 42; say do do;' 42 $ perl6 -e 'my \do = 42; say do do ;' ===SORRY!=== Error while compiling -e Missing block or statement at -e:1 ------> my \do = 42; say do do⏏ ;
