ocaml and haskell modes