I know about Erlang and what it can do, and I maintain Go is the only mainstream, non-functional language that does abstraction of event based/threaded programming well, or at all. I'm not even sure Rust does...the best I can find is it was planned to, but it didn't make it in.
And I don't consider any functional language as a viable choice for the vast majority of mainstream users.
And I don't consider any functional language as a viable choice for the vast majority of mainstream users.