type 'uid commit = {
root : 'uid;
preds : 'uid list;
}
val tree : ('uid, 'uid list) kind
val tag : ('uid, 'uid) kind
val make : kind:('uid, 'preds) kind -> 'preds -> ?ts:int64 -> 'uid -> 'uid t
val get_limits :
compare:('uid -> 'uid -> int) ->
('uid * 'ref * bool) list ->
('uid, 'ref) Smart.Commands.command list ->
'uid list * 'uid list
val commands :
's Sigs.scheduler ->
capabilities:Smart.Capability.t list ->
equal:('ref -> 'ref -> bool) ->
deref:('store -> 'ref -> ('uid option, 's) Sigs.io) ->
'store ->
[ `Create of 'ref | `Delete of 'ref | `Update of 'ref * 'ref ] list ->
('uid * 'ref * bool) list ->
(('uid, 'ref) Smart.Commands.t option, 's) Sigs.io
val get_uncommon_objects :
's Sigs.scheduler ->
compare:('uid -> 'uid -> int) ->
('uid, 'ref, 'uid t, 'g, 's) Sigs.access ->
('uid, 'uid t, 'g) Sigs.store ->
exclude:'uid list ->
sources:'uid list ->
('uid list, 's) Sigs.io