Well, it depends on the bottleneck. CPU-bound code, I would of course agree. For I/O bound though, especially network I/o with variable peers (which is the vast majority of code written nowadays) erlang's concurrency model is fantastic.
Also worth mentioning is that you can write CPU intensive code in rust and invoke it as NIFs[1]
Also worth mentioning is that you can write CPU intensive code in rust and invoke it as NIFs[1]
[1] https://github.com/rusterlium/rustler