"is actually trivially done (and has been used by countless projects for years) in almost all imperative languages, and less intrusively"
Is simply not true. In a JavaScript test framework, drawing from top-of-mind, recent examples, you cannot prevent the code under test from replacing document.location.
In Java, as you gave in another examples in this thread, you can't statically prevent access to the RNG or perhaps the current time.
In Python, there's nothing stopping any code from calling into a C module that has arbitrary effects.
Haskell is unique among any languages I've ever used in production that allows deterministic testability as a static, enforced-by-the-compiler guarantee.
I partially agree with your second comment, and I do think other forms of testing (such as fuzz testing, integration tests with third parties, acceptance tests) are valuable, but the technique described can be used in much larger tests than simple unit tests. As I mentioned, IMVU uses it for testing entire web service request handlers.
I get the feeling some people think that World is onerous and expensive to set up, but in practice you just write all of your code in World and it's not boilerplatey or complicated at all. The framework around World is set up once and never touched again.
* Disclaimer: I no longer work at IMVU, but I super super super miss Haskell in production.