Added OCaml implementation.