modern type_conv requires ocaml 4+