anchor.diff:                              delta_counter=Counter, delta_map=DeltaMap,
                               delta_ack_map=AckMap}},
                      Acc0) ->
  -                       Ack = case orddict:find(Peer, AckMap) of
  -                                 {ok, {Ack0, _GCed}} ->
  -                                     Ack0;
  -                                 error ->
  -                                     0
  -                             end,
  -                       Min = case orddict:fetch_keys(DeltaMap) of
  -                           [] ->
  -                               0;
  -                           Keys ->
  -                               lists:min(Keys)
  -                       end,
  -
  -                       Deltas = case orddict:is_empty(DeltaMap) orelse Min > Ack of
  +                       case ObjectFilterFun(Id) of
                              true ->
  -                               Value;
  +                               Ack = case orddict:find(Peer, AckMap) of
  +                                         {ok, {Ack0, _GCed}} ->
  +                                             Ack0;
  +                                         error ->
  +                                             0
  +                                     end,
  +                               Min = case orddict:fetch_keys(DeltaMap) of
  +                                   [] ->
  +                                       0;
  +                                   Keys ->
  +                                       lists:min(Keys)
  +                               end,
  +                                Deltas = case orddict:is_empty(DeltaMap) orelse Min > Ack of
  +                                   true ->
  +                                       Value;
  +                                   false ->
  +                                       collect_deltas(Peer, Type, DeltaMap, Ack, Counter)
  +                                end,
  +                                send({delta_send, node(), {Id, Type, Metadata, Deltas}, Counter}, Peer),
  +                                [{ok, Id}|Acc0];
                              false ->
  -                               collect_deltas(Peer, Type, DeltaMap, Ack, Counter)
  -                       end,
  -
  -                       send({delta_send, node(), {Id, Type, Metadata, Deltas}, Counter}, Peer),
  -                       [{ok, Id}|Acc0]
  +                               Acc0
  +                       end
                  end,
       %% TODO: Should this be parallel?
       {ok, Result} = do(fold, [Store, Function, []]),
  
positive.code: 
  %% @private
  init_delta_sync(Peer) ->
      gen_server:cast(?MODULE, {delta_exchange, Peer}).
  
  %% @private
  membership() ->
  
negative.code: log_message_queue_size(Method) ->
      {message_queue_len, MessageQueueLen} = process_info(self(), message_queue_len),
      lasp_logger:mailbox("MAILBOX " ++ Method ++ " message processed; messages remaining: ~p", [MessageQueueLen]).
  
  %% @private
  without_me(Members) ->
      Members -- [node()].
  