I did pull my first example out of a slightly larger program I was playing with, but I thought that a match would surely have no effect. Stupid me, because I've been around long enough to know that assumption is almost always false. That "harmless" thing you leave out is the actual problem. Here's a complete program that reproduces it:
'abcdef' ~~ m/ cd /; my $thingy = %(); put $thingy.^name; #Map