OCaml hash-consing library