additions for codegen
codegen in ocaml