anchor.diff:    {reply, Reply, stamp(Key, write, NewState)};
   handle_call(#edis_command{cmd = <<"LPUSHX">>, args = [Key, Value]}, _From, State) ->
     Reply =
  -    update(State#state.backend_mod, State#state.backend_ref, Key, list,
  +    update(State, Key, list,
              fun(Item) ->
                      {edis_lists:length(Item#edis_item.value) + 1,
                       Item#edis_item{value = edis_lists:push(Value, Item#edis_item.value)}}
  
positive.code: 						{put, Destination, DestinationItem#edis_item{value = gb_sets:add_element(Member, DestinationItem#edis_item.value)}}
  				end,
  			SourceAction = 
  				case get_item(State#state.backend_mod, State#state.backend_ref, set, Source) of
  					{error, SReason} -> throw(SReason);
  					not_found -> throw(empty);
  					Item ->
  
negative.code:   {reply, Reply, stamp(Key, write, State)};
  handle_call(#edis_command{cmd = <<"HVALS">>, args = [Key]}, _From, State) ->
    Reply =
      case get_item(State, hash, Key) of
        not_found -> {ok, []};
        {error, Reason} -> {error, Reason};
        Item -> {ok, dict:fold(fun(_,Value,Acc) ->
  