Могу я предложить вам язык flow9? Изначально он задумывался как раз как практичный ФП язык. Мутабельность там есть, но это up to developer насколько использовать - можно вообще все чистым делать. Ну для себя я завел rule of thumb что 99% кода должны быть чистыми, в особом 1% допускается мутабельность. Параллельность - есть, асихронность - есть. Вообще, если хочется чего то такого-сякого, можно определить native типы и функции, которые в рантайме будут что то особое делать. Я, например, добавил в стандартую библиотеку вектора и хэш-таблицы (для особых случаев) как нейтивы. Но чтобы использовать такие нейтивы надо конечно их реализовать в рантайме. Язык кроссплатформенный и несколькими бэкэндами, ну то есть транслируется в собственный байткод, можно в джаву, с++, JS, есть ещё несколько бэкэндов, но они недоделанные. Можно наконец свой бэкэенд запилить.