anchor.diff:                   [{put, Path, #{ Sel => [DocId]}} | Acc];
                  del ->
                    Acc
  -    
                end,
         merge(Rest, DocId, Op, Fun, St, Acc2)
     end;
  
positive.code:                        del -> Entries -- [DocId]
                       end,
            Sz = length(Entries2),
            
            Acc2 = if
                     Sz > 0 ->
                       Map2 = Map#{ Sel => Entries2 },
  
negative.code:                        0 ->  [{delete, Path} | Acc];
                         _ ->  [{put, Path, Map2} | Acc]
                       end
                   end,
            merge(Rest, DocId, Op, Fun, St, Acc2);
          error ->
            Acc2 = case Op of
                     add ->
                       [{put, Path, #{ Sel => [DocId]}} | Acc];
                     del ->
                       Acc
                   end,
            merge(Rest, DocId, Op, Fun, St, Acc2)
        end;
  