I read a lot of good think about elm. I would personally rely on F# and use Fable (with elmish syntax), but most front-end team are not ready for this kind of jump. xstate is quite easier to insert into a classic React code base. js devs dont really like to move outside js. Beside it is hard to onboard js devs, let's say that the F# or elm pool are even smaller.