I know that you didn't use a source filter to implement this, but someone will want a source filter variant so that the Perl 6 syntax of := can be supported. So you might think about ways to support that.
In that line of thought, what happens when you do this?
my @y = 1..10;
alias my @x = @y;
push @y, 11;
print map "$_\n", @x;
Will @x turn out to have 1..11 or 1..10 at this point?
The answer should be clearly documented, and will matter a lot if someone wants to make the source filter that I suggested above.