Js_of_ocaml_compiler.Int_triePersistent maps indexed by non-negative integers.
The map is a 32-way trie indexed by the bits of the key. A lookup only follows a few pointers (four levels are enough for a million keys), and the bindings of consecutive keys are stored next to each other. This is much faster than a balanced tree when the keys are dense, as the addresses of the blocks of a program.
The interface is a subset of Map.S, with the same semantics. In particular, the bindings are always visited in increasing key order. The only difference is that the keys must be non-negative: add and update raise Invalid_argument on a negative key.