I thought this would work to make a copy of @x but with the role "LookInside" attached to it:
my @y = @x but LookInside; But that didn't add the role to @y. E.g. say @y.^WHAT Would just report (Array), not (Array+{LookInside}). I found that this would do what I was trying to do though: my @y = @x; @y does LookInside; I didn't think there would be any difference between the two though. What am I not getting? The full code looks like this: trial_introspect.pl6: use v6; use Trial::Introspect; my @x = <wuhn tew thuree foah fahv sex>; my @y = @x; @y does LookInside; say "Methods: "; say @y.methodical_methods; .../Trial/Introspect.pm6: role LookInside { method methodical_methods { self.^methods.map({ .gist }).sort.unique.map({ "$_\n" }).grep({ ! /^Method/ }); } }