Module Isa_btree__Isa_btree_intf.Store_ops

type ('r, 'dnode, 't) store_ops = {
read : 'r -> ('dnode't) Tjr_monad.m;
wrte : 'dnode -> ('r't) Tjr_monad.m;
rewrite : 'r -> 'dnode -> ('r option't) Tjr_monad.m;
free : 'r list -> (unit, 't) Tjr_monad.m;
}

store_ops are like a blk device, but allowing read/writes of leafs and nodes rather than blks (so, marshalling is done in a lower layer)

NOTE rewrite attempts to rewrite a block; this may not be allowed (CoW) and instead a new block is allocated and written

NOTE also that 'dnode is either leaf or node

type ('r, 'dnode, 't) t = ('r'dnode't) store_ops