sig
type data = archive
type elt = archive_name
type id = archive_id
type t
val create : unit -> t
val register : t -> elt -> (unit -> data) -> id
val search : t -> elt -> id
val find : t -> id -> elt
val data : t -> id -> data
val compare_id : id -> id -> int
val scribe_id : 'a Conduit.conduit -> 'a -> id -> unit
val io_id : id Io.literate
val iter : t -> (id -> elt -> data -> unit) -> unit
val set_watcher : t -> (id -> elt -> data -> unit) -> unit
end