anchor.diff:  delete(Cache2, N, X, APageId, A = #page{p0 = AP0, e = AE}) ->
     ?dbg("delete(~p, ~p)~n", [X, A]),
     case binsearch(AE, X) of
  -    {not_found, R} ->
  +    ?not_found(R) ->
         QPageId =
           if R =:= 0 -> AP0;
              true -> item_p(element(R, AE))
  
positive.code: 
  search_page(IO, X, P = #page{p0 = P0, e = E}, Path) ->
    case binsearch(E, X) of
      {not_found, R} ->
        Q =
          if R =:= 0 -> P0;
             true -> item_p(element(R, E))
          end,
        search_pageid(IO, X, Q, [{P, R} | Path]);
      {found, K} ->
        {true, P, K, Path}
    end.
  
  
negative.code: %%%_* Binary search within a page ==============================================
  %%%
  %%% Search a page's item vector E for key X.
  %%% Return ?found(K) if found at index K, otherwise ?not_found(R) where R is the
  %%% index where the B-tree traversal should descend.
  %%% Callers MUST match on ?not_found(R) before matching on ?found(K).
  
  -define(not_found(R), {not_found, R}).
  -define(found(K), {found, K}).
  
  binsearch(E, X) ->
    binsearch(E, X, 1, size(E)).
  