While I agree with the majority of the arguments, there are some cases where toolchains make it easier to manage monorepos. With JS/TS we had a monorepo with react web app, react-native mobile app and a shared REST API client library. Once a change was made to the library, tooling bumped library's version based on commit message (conventional commits) then updated the library version in both apps, bumped their versions too and released them to staging. It worked for us and was something that would require more config to achieve with separate repos.
I believe it's up to developers to decide what suits them best based on their requirements, process and tooling.
True however that putting everything in monorepo just for the gist of it is not the best approach.
Before the current regional Internet registry system (ARIN, RIPE, LACNIC, AfriNIC, APNIC) began, organizations (and some individuals) were "given" IP addresses by emailing IANA or Jon Postel directly.
Assignments that predate the RIRs are called "legacy" assignments and are, theoretically, not subject to the RIR system because those who received those addresses only agreed to the terms as they existed at the time. Those terms were usually "you asked, here you go."
In practice, legacy assignments are left alone because no one wants to go to the trouble of arguing with big entities about it. (Most of the /8 assignments people gripe about as being wasteful are assigned to entities with lawyers, guns, or both.) People who have a handful of small legacy assignments get the protection of this because it's especially not worth the effort to say "well, if all you have is a /22 legacy, yours is now part of the RIR system, deal with it". Especially since the only recourse would be to allocate it to someone else and wouldn't that be fun.
But no IP address is actually "unrevokable." All you have to do is piss off a handful of the Tier 1s or a slightly larger number of Tier 2s and you'll quickly find your "bulletproof" addresses quite useless.
> high-level statement about a relevant side point
Here's how it really works. I'll write a couple paragraphs on all the exceptions I can think of, explaining how you should have said "often" instead of "almost always".
I believe it's up to developers to decide what suits them best based on their requirements, process and tooling.
True however that putting everything in monorepo just for the gist of it is not the best approach.