For my (possibly unrelated ...?) purposes, it would need to be being able to build a more isolated test case situation, especially for adding instrumentation to an existing, complex but poorly-designed class structure ... without significantly changing the crufty old code, if at all.
I have noticed that heavily class-based code over time can wind up having a lot of “side effects,” for lack of a more proper term, which can make it difficult to deduce exactly which code-path is being taken. And, when you don’t yet really know whether any particular one of those paths are or are not reliable, that’s a big deal, at least in my situation. (I mostly deal with legacy code ... eight years old or more ... stuff that stinks but drives businesses.) I don’t want to “hijack” this particular thread into that direction, though, but I’m interested.