working OCaml bindings