And to elaborate:
What should happen is precisely making it possible to write non-leaky abstractions. To “encapsulate” chains if you want.
This requires specifications.
Most of the software-related problems that Polkadot suffers from can be traced back to the lack of specification if you dig a tiny little bit.
You could say that many of these problems come from the lack of direction, but if you try to write a specification you’ll realize that you need directions as a pre-requisite.
I’ve been continuously spamming about the need for precise specifications for years at this point, raising all the time arguments in favor of this, but it doesn’t happen and at this point I don’t know how to convince people anymore that this is perhaps the most critical thing to do.