I love seeing an ML on BEAM. I wish the author decided to port an existing ML over to BEAM rather than make a whole new language. With Ocaml, they could have gone the jsofocaml route which converts ocaml byte code into JS. So ocaml byte code to BEAM byte code could have been quite nice.
He did a great job of explaining his decisions in a recent talk: https://www.youtube.com/watch?v=cljFpz_cv2E
Owing to his requirements, there were certain constraints he had to put on the language which, e.g., ocaml doesn’t have to suffer; he traded away complete decidability for easier interop, for example. And although ocaml->js is interesting, js’s execution model is plainer and less featured than the BEAM in a general way. Retaining nice BEAM features (actor model, message passing, etc.) as first class citizens is not a bad goal.