anchor.diff:      {ok, #state{actor=Actor,
                   pending=[],
                   membership=Membership,
  +                member_parallelism=dict:new(),
                   connections=Connections,
                   down_functions=dict:new()}}.
   
  
positive.code:                 pending :: pending(),
                  down_functions :: dict:dict(),
                  membership :: membership(),
                  connections :: connections()}).
  
  -type state_t() :: #state{}.
  
negative.code: handle_call({leave, Node}, _From,
              #state{actor=Actor,
                     connections=Connections,
                     membership=Membership0,
                     member_parallelism=MemberParallelism0}=State) ->
      %% Node may exist in the membership on multiple ports, so we need to
      %% remove all.
      {Membership, MemberParallelism} = lists:foldl(fun({Name, _, _} = N, {M0, MP0}) ->
                          case Node of
                              Name ->
                                  {ok, M} = ?SET:mutate({rmv, N}, Actor, M0),
                                  MP = dict:erase(N, MP0),
                                  {M, MP};
                              _ ->
                                  {M0, MP0}
                          end
                  end, {Membership0, MemberParallelism0}, members(Membership0)),
  
      %% Gossip.
      do_gossip(Membership, Connections),
  