anchor.diff:  fold(Fun, Acc0, FullPrefix) ->
       fold(Fun, Acc0, FullPrefix, []).
   
  -%% @spec Fold over all keys and values stored under a given prefix/subprefix. Available
  +%% @doc Fold over all keys and values stored under a given prefix/subprefix. Available
   %% options are the same as those provided to iterator/2.
   -spec fold(fun(({metadata_key(),
                    [metadata_value() | metadata_tombstone()] |
  
positive.code: 
  fold_it(Fun, Acc, It) ->
      case itr_done(It) of
          true -> Acc;
          false ->
              Next = Fun(itr_key_values(It), Acc),
              fold_it(Fun, Next, itr_next(It))
  
negative.code:             maybe_tombstone(maybe_resolve(PKey, Existing, ResolveMethod), Default)
      end.
  
  %% @doc same as fold(Fun, Acc0, FullPrefix, []).
  -spec fold(fun(({metadata_key(),
                   [metadata_value() | metadata_tombstone()] |
                   metadata_value() | metadata_tombstone()}, any()) -> any()),
  