Another way to get functional with the frontend is to use ReasonML, or Bucklescript. Both output javascript, but use ML syntax. That would fit a React frontend development.
I don’t want to troll ELM, but some people in this forum have a strong opinion about it.
Also, I think javascript targeting is bigger than elm’s.
- React => web
- React Native => mobile
- Electron => desktop
That might also count in the balance.