pugs> my @array does role { ....> multi method insert ($x) { @.push($x) unless any(self) eqv $x } ....> multi method insert (@x) { @.insert($_) for @x } ....> } = 1..5; pugs> @array.insert($_) for 2..6; pugs> say @array 123456 Bool::True pugs> @array.insert(3..7); pugs> say @array 12345634567 Bool::True