anchor.diff:      ok = send_lazy(),
       schedule_lazy_tick(Period),
       {noreply, State};
  +
   handle_info(exchange_tick, #state{exchange_tick_period = Period} = State) ->
       State1 = maybe_exchange(State),
       schedule_exchange_tick(Period),
       {noreply, State1};
  +
   handle_info(
       {'DOWN', Ref, process, _Pid, _Reason}, State=#state{exchanges=Exchanges}) ->
       Exchanges1 = lists:keydelete(Ref, 3, Exchanges),
  
positive.code: 
      %% delete outstanding messages to removed peers
      ok = ordsets:fold(
          fun(RPeer, Acc) ->
              _ = ets:delete(?PLUMTREE_OUTSTANDING, RPeer),
              Acc
          end,
          ok,
  
negative.code: %% destination
  %% These are stored in the ?PLUMTREE_OUTSTANDING ets table under using nodename
  %% as key.
  %% PLUMTREE_OUTSTANDING is created and owned by partisan_sup
  -type outstanding()     :: {message_id(), module(), message_round(), node()}.
  -type exchange()        :: {module(), node(), reference(), pid()}.
  -type exchanges()       :: [exchange()].
  