anchor.diff:        Cache2
     end.
   
  -%%% Search and delete key X in B-tree A; if a page underflow is
  -%%% necessary, balance with adjacent page if possible, otherwise merge;
  -%%% return true if page A becomes undersize.
  +%% Search and delete key X in B-tree A; if a page underflow is
  +%% necessary, balance with adjacent page if possible, otherwise merge;
  +%% return true if page A becomes undersize.
   delete(Cache, _N, _X, ?NOPAGEID) ->
     ?dbg("delete(~p, ~p)~n", [_X, ?NOPAGEID]),
     {Cache, false};
  
positive.code:            e = {}}}.
  
  %%%_* Bulk-loading a list into an empty B-tree =================================
  %%% Citing from Wikipedia's article on B-trees, section "Initial construction":
  %%%
  %%% "In applications, it is frequently useful to build a B-tree to represent a
  
negative.code:   ok = Delete(Handle, PageId).
  
  %%%_* Checking a B-tree (for debugging) ========================================
  %%%
  %%% Normally we'd only permit the root node to be underfilled, but bulk-loading
  %%% tends to leave the right-most nodes underfilled, so we permit that too.
  
  check(IO, #btree{order = N, root = A}) ->
  