Okay, good enough... if I can't slip my changes in ahead of everything then reinitializing everything viz ^compose sounds workable.
And so, my next question would be "Can I get a list of all the built-in classes?" and I see brian d foy got there a little over a year ago: https://stackoverflow.com/questions/44861432/is-there-a-way-to-get-a-list-of-all-known-types-in-a-perl-6-program The answer from smis suggest I need to be looking in the CORE:: psuedo-package. Starting from his code snippet, and hacking quite a bit I've got a start on an elephant gun that recomposes everything in CORE: for (|CORE::) .grep({ .key eq .value.^name }) .map( *.value ) -> $class { my $class_name = $class.^name; try { say $class; $class.^compose; CATCH { default { say "Problem with $class_name"; } } } } On 10/19/18, Elizabeth Mattijsen <l...@dijkmat.nl> wrote: > See also: > https://stackoverflow.com/questions/52718499/how-to-correctly-augment-any > >> On 19 Oct 2018, at 03:52, Joseph Brenner <doom...@gmail.com> wrote: >> >> I've got another question about aug--yes, I know--ment. >> >> I've got a module ides_of_augment.pm6: >> >> use MONKEY-TYPING; >> augment class Any { >> method hiccup { >> say "hic!"; >> } >> } >> >> I would've thought it could be used in the repl like this: >> >> perl6 -Mides_of_augment >> >>> (Any).hiccup >> hic! >>> my @a=< a b c d >; >> [a b c d] >>> @a.hiccup >> No such method 'hiccup' for invocant of type 'Array'. Did you mean >> 'hiccup'? >> in block <unit> at <unknown file> line 1 >> >> As you can see, it kind-of augments the Any class, but evidently >> does it too late to (completely) change an instance of Array. >> >> I tried a few things like "BEGIN augment" or "INIT augment" >> without any luck. >> >> Any suggestions (besides "don't do it")? >