Then please answer why Elm was chosen instead of some mainstream programming language/framework. Choosing Elm seems like a very risky choice for something as important as railways.
Elm was chosen because we believed it to be a better language than those which are mainstream right now. We believed it would make us more productive, prevent bugs before they reached production, be better at local reasoning and make it easier to onboard new people.
So far we are not dissapointed, and in my opinion Elm is on its way to become mainstream because of these things.
At Vy, Elm is used for frontend, Java and Kotlin for backend.