anchor.diff:          Batch2#batch{
               cache = maps:put(Key, Entry#entry{status = Status}, Cache2)
           }
  -    end, Batch, lists:zip(Keys, Statuses)).
  +    end, Batch#batch{cache_mod_keys = []}, lists:zip(Keys, Statuses)).
   
   %%--------------------------------------------------------------------
   %% @doc
  
positive.code: 
  -record(batch, {
      cache = #{} :: #{key() => entry()},
      requests = #{} :: #{request_ref() => [key()]},
      request_ref = undefined :: undefined | request_ref()
  }).
  
negative.code: %%--------------------------------------------------------------------
  -spec save(ctx(), key(), doc(), batch()) -> {{ok, doc()}, batch()}.
  save(Ctx, Key, Doc, Batch = #batch{
      cache = Cache, cache_mod_keys = CMK, requests = Requests, request_ref = Ref
  }) ->
      Keys = maps:get(Ref, Requests, []),
      Entry = #entry{ctx = Ctx, doc = Doc, status = pending},
      CMK2 = [Key | CMK -- [Key]],
      {{ok, Doc}, Batch#batch{
          requests = maps:put(Ref, [Key | Keys], Requests),
          cache = maps:put(Key, Entry, Cache),
          cache_mod_keys = CMK2
      }}.
  
  %%--------------------------------------------------------------------
  