There aren't any languages that support what we need to do to solve the complexity we want to solve, including OCaml/ReasonML.
Given that, whatever language we'd pick we'd have to hack them to get what we needed, and then we wouldn't have JS (realistically, if we were to pick some existing language it would have to be JS), we'd have some shitty version of JS.
Which is what App Engine did with their early versions: I worked on an app engine project that had a hacked version of Django where nothing worked.