some ocaml code