Yes.
: S12 says that "[s]ubmethods are for declaring infrastructural methods that
: shouldn't be inherited by subclasses". I read this "shouldn't be inherited" as
: that a submethod definition of the same name in a subclass does not
: overwrite/substitute the definition of the parent class. Correct?
Correct.
: class A { submethod blarb() { say 42 } }
: class B is A { submethod blarb() { say 23 } }
: B.new.blarb;
:
: Does this only output "23"? (I think so, as I don't call A::blarb explicitly.
: If I wanted to call A's blarb, I'd have to say "B.new.A::blarb", correct?)
Yes.
Larry