Index is a scalable implementation of persistent indices in OCaml.
It takes an arbitrary IO implementation and user-supplied content types and supplies a standard key-value interface for persistent storage.
Index supports instance sharing: each OCaml runtime can share a common singleton instance.
Index supports multiple-reader/single-writer access. Concurrent access is safely managed using lock files.