sig
type version = string
type handle = version_number
type id = version_id
type t
val create : unit -> t
val register : t -> version -> handle
val search : t -> version -> handle
val compare_versions : t -> handle -> handle -> int
val find : t -> id -> handle
val get_version : handle -> version
val get_id : handle -> id
val iter : t -> (handle -> unit) -> unit
val scribe_id : 'a Conduit.conduit -> 'a -> id -> unit
val io_id : id Io.literate
end