Не нужен хороший код, Нужен работающий. А на Elm очень быстро упираешься в то, во что уприаешься в Go - в недостаточную выразительность. Тупо неудобно или невозможно поднять уровень абстракции. А это уже мешает управлять сложностью - это один из наиважнейших критериев "пригодности языка к продакшну"
Иногда можно переабстрагировать, во всём нужна мера. Нужен лёгкий вход для большинства в функциональные языки, иначе все так и продолжат сидеть на JS. Scala, Rust, Kotlin делают это неплохо, но Эльм среди них проще и лаконичнее всех.