Heterogeneous value maps for OCaml
