type restore_context = {restore : storage -> db option;restore_tail_groups : storage -> datom list list;
}type transact_context = {store : ?storage:storage -> db -> db;store_tail : storage -> datom list list -> unit;storage_tail_datom_count : datom list list -> int;storage_tail_compaction_threshold : db -> int;transact : tx_meta:tx_meta -> db -> tx_op list -> tx_report;
}val update_db : t -> (db -> db) -> unitval storage_tail : t -> datom list listval listen : t -> string -> (tx_report -> unit) -> stringval listen_auto : t -> (tx_report -> unit) -> stringval unlisten : t -> string -> unit