From what I understand Erlang has a naive memory model; so whatever a process does, it cannot share efficiently.
It's made to handle 1000s of 1-to-1 calls that all fit individually on one core, not one 1000-to-1000 call that needs to use all cores at the same time.
Parallelism without "intra cpu and inter core" forced scope has never been hard, just spin up more machines.
Or if I put it this way: "if you don't need parallelism and memory speed between the parallelism enough to encounter cache miss problems, could you as well use separate computers?"
If the answer is yes then fibers and coroutines are meaningless.
This is the problem of this decade, if we can't solve the bottle neck of cache misses on sharing memory (in parallel on one task across cores efficiently) we have no reason to try and scale the number of cores at all.
And if that's true we have hit peak Moore's law for transistor computers; in performance, years ago and in energy efficiency, probably around 8nm.
Just to illustrate the problem one last time: Naughty Dog converted it's engine to fibers to allow 60 frames per second, but the controller input to frame latency increased with many frames (because the multiple cores cooperating on each frame meant they have to push the frame back because memory is slow) so the benefit was actually reduced.
You get lots of smooth bells and whistles (that look good when you don't play the game) but the only meaningful metric (how fast the character acts on your reactions, which is the definition of gameplay) actually degrades.
That said I'm looking forward to TLoU 2 as much as the next guy, but I'm not expecting any technical improvements except visuals.
If so, it is also a successful usage of Fibers/green threading in highly concurrent environment.