Use haskell-mode for Elm.  Add an OCaml mode.