Not that I'm against the policy or how it works. It just isn't "avoided" precisely.
Once you're in the mono repo, you have to play by its rules (well...should anyway). Like in the case of npm packages I mentioned above.
There is a reason why most globally linked runtimes (e.g. C++ or Java) do not encourage such mechanisms.
I generally agree but the problem is even worse :)
https://yarnpkg.com/lang/en/docs/selective-version-resolutio...
Basically the more users a single dependency has, the harder it gets to update.
The flip side is that the monorepo (more easily than otherwise) allows the person doing the change to bear the burden of updating the call-sites (& users).
Thanks for pointing out the difficulty this introduces.
Programmers know the value of everything and the cost of nothing.