anchor.diff:  
                       %% Send message along.
                       do_send_message(
  -                        Name,
  +                        Node,
                           Channel,
                           PartitionKey,
                           WrappedMessage,
  
positive.code: 
  %% @private
  without_me(Members) ->
      MyNode = partisan:node(),
      lists:filter(fun(#{name := Name}) -> Name =/= MyNode end, Members).
  
  
  %% -----------------------------------------------------------------------------
  
negative.code: %% argument is the Node name.
  %% @end
  %% -----------------------------------------------------------------------------
  on_up(#{name := Node}, Function) ->
      on_up(Node, Function);
  
  on_up(any, Function) ->
      on_up('_', Function);
  
  on_up(Node, Function)
  when is_atom(Node) andalso (
      is_function(Function, 0) orelse
      is_function(Function, 1) orelse
      is_function(Function, 2)
  ) ->
      gen_server:call(?MODULE, {on_up, Node, Function}, infinity).
  
  
  %% -----------------------------------------------------------------------------
  %% @doc Attempt to join a remote node.
  %% @end
  %% -----------------------------------------------------------------------------
  join(#{name := _} = NodeSpec) ->
      gen_server:call(?MODULE, {join, NodeSpec}, infinity).
  
  
  %% -----------------------------------------------------------------------------
  %% @doc Attempt to join a remote node.
  %% @end
  %% -----------------------------------------------------------------------------
  sync_join(#{name := _} = NodeSpec) ->
      gen_server:call(?MODULE, {sync_join, NodeSpec}, infinity).
  
  
  %% -----------------------------------------------------------------------------
  