anchor.diff:                          [R, Ress]),
               not_found;
           false ->
  -            Res = lists:foldl(fun merge_compressed/2, decompress(DH), DT),
  +            Res = lists:foldl(fun mmath_bin:merge/2, DH, DT),
               {R, Res}
       end.
  -
  --dialyzer({nowarn_function, merge_compressed/2}).
  -merge_compressed(Acc, New) ->
  -    mmath_bin:merge(Acc, decompress(New)).
   
   %% Snappy :(
   -dialyzer({nowarn_function, decompress/1}).
  
positive.code: %% TODO: read repair...or another blog post?
  
  waiting({ok, ReqID, IdxNode, Obj},
          SD0=#state{from=From, num_r=NumR0, replies=Replies0,
                     r=R, n=N, timeout=Timeout}) ->
      NumR = NumR0 + 1,
      Replies = [{IdxNode, Obj} | Replies0],
      SD = SD0#state{num_r=NumR, replies=Replies},
      case NumR of
          Min when Min >= R ->
              case merge(SD0, Replies) of
  
negative.code:     end.
  
  wait_for_n({ok, _ReqID, IdxNode, Obj},
             SD0=#state{n = N, num_r = NumR}) when NumR == N - 1 ->
      SD1 = save_reply(IdxNode, Obj, SD0),
      {next_state, finalize, SD1#state{num_r=N}, 0};
  
  wait_for_n({ok, _ReqID, IdxNode, Obj},
             SD0=#state{num_r=NumR0, timeout=Timeout}) ->
      NumR = NumR0 + 1,
      SD1 = save_reply(IdxNode, Obj, SD0),
      {next_state, wait_for_n, SD1#state{num_r = NumR}, Timeout};
  
  %% TODO partial repair?
  wait_for_n(timeout, SD) ->
  