This is a good point.

(It’d be nice to be able to do that kind of “why is this code doing this” query in general, and with the rise of JIT compilation this is…

This is a good point. I feel like I would want to make it possible for module C to extend the behavior of module B as seen from module A (as, from what I understand, mixins in objective c once could do?), so long as it didn’t change existing behavior and could be explained by tooling — but I think the latter part of that equation only works in totally-integrated VM-type environments like Smalltalk & doesn’t extend well to traditional text-based systems.

(It’d be nice to be able to do that kind of “why is this code doing this” query in general, and with the rise of JIT compilation this is becoming more viable and we start to be able to introspect on the internal behavior of our actual compilers from running code, but from a user interface perspective it’s hard to imagine how this would integrate into anything less than a smalltalk-style class browser — even an IDE would be a poor fit here.)