Erlang is elegant and noteworthy, but you'll get more computation done in a single-threaded C program.
Yes, Erlang's implementation is a big problem, but it's not something fundamental to its architecture. Some new language with a fresh implementation could definitely solve that.
Also, Haskell has both useful and safe STM, and a runtime with built in concurrency and parallelism.
(Mentioning Erlang and Haskell because I've shipped solid production systems using both of those, and they work well!)