anchor.diff:      end.
   
   %% Snappy :(
  --dialyzer({nowarn_function, decompress/1}).
  --spec decompress(binary()) -> binary().
  -decompress(D) ->
  +-dialyzer({nowarn_function, decompress/2}).
  +-spec decompress(binary(), state()) -> binary().
  +decompress(D, #state{compression = snappy}) ->
       case snappy:is_valid(D) of
           true ->
               {ok, Res} = snappy:decompress(D),
               Res;
           _ ->
               D
  -    end.
  +    end;
  +decompress(D, #state{compression = none}) ->
  +    D.
  +
   %% @pure
   %%
   %% @doc Reconcile conflicts among conflicting values.
  
positive.code:     SD#state{replies = Replies};
  save_reply(IdxNode, Obj, SD = #state{system = metric, replies = Replies0}) ->
      {Res, Metrics} = Obj,
      Replies = [{IdxNode, {Res, decompress(Metrics)}} | Replies0],
      SD#state{replies = Replies}.
  
  -spec merge(state(), [E]) -> E.
  
negative.code: %%-type metric_reply() :: {partition(), metric_element()}.
  
  -record(state, {req_id,
                  compression :: snappy | none,
                  from,
                  entity,
                  op,
  