The legal system governing water rights in the western United States is utterly absurd. I think it was a stupid system in the beginning but is orders of magnitude more stupid today given the challenges facing the region.
It also happens to be a system that people will legitimately fight and kill others to preserve. The political challenge to change this system is enormous and I'd bet most people have no idea how fucked it is.
This is a very naive, inexperienced view of politics. In politics, many people have acted in ways they did not believe were right. Many others have acted without a thought given to whether they were right. In some situations, wars have resulted from political actions, but in many other instances, political actions has prevented wars that may otherwise have taken place.
Not taking sides is a political action in itself. Not wanting to be involved doesn't mean you aren't involved.
Dear God this is a tired point. The rest of the damn paragraph of the Wikipedia article fully addresses that. Nobody who uses the term "serverless" thinks that magic fairies are replacing servers. The point is who is managing it for your application or business.
Use Expo. Ignore anything that ever mentions having to "eject" because that's the giveaway that the information is hopelessly, uselessly out of date. It's fine.
There is no need to eject when creating custom modules and the API for writing modules is fairly decent. Not entirely painless but miles better than a vanilla RN approach. We make extensive use of development builds and it's the feature I value the most - no need for Firebase or TestFlight for testing a branch.
The single threading isn't an issue for many backend use cases and even though JS was initially designed for use in the browser, there's been a decade of development on the language and ecosystem for using it outside the browser.
Also people routinely use other single threaded things for the web, notably Python and Ruby have global interpreter locks and PHP has also usually been multithreaded only by being multi-process (you have to add pthreads on I think?).
Multithreading is a nice to have; it has a bunch of costs around needing to introduce locking and synchronization primitives into the language, those costs aren't the worst thing ever but it's often nice to not have to deal with them.
I think you are mixing up lots of stuff or at least write about them in a misleading way.
Python has async, has green threads, and has OS threads through the multiprocessing module. The fact that it has the GIL does not mean, that it cannot use OS threads or multiple processes. JavaScript in comparison does not have multithreading. NodeJS itself is multithreaded, but you cannot put application computation on those threads. You will need to use worker-threads and basically like PHP run multiple instances.
However, neither of those languages is particularly nice for using the multiple cores available in modern machines anyway.
Ejecting is an outdated concept when it comes to Expo for the past two years or so. The eject command in the cli is just an alias for the prebuild command even.
The way Expo builds your app these days let's you add native code as you want, modify your Gradle and pods files as needed, and you can still be on their managed workflow where you don't ever need to have Android and iOS folders in your repo. It's a really great time to be using Expo.
It also happens to be a system that people will legitimately fight and kill others to preserve. The political challenge to change this system is enormous and I'd bet most people have no idea how fucked it is.