anchor.diff:  
   -spec send({inet:ip_address(), tcp_port(), pid()}, term()) -> ok.
   send({Address, Port, Pid}, Message) ->
  -    ConnPid =
  -        case ets:lookup(?MODULE, {Address, Port, 'send'}) of
  -            [{{Address, Port, 'send'}, X}] -> X;
  -            [] ->
  -                %% start Erlang process responsible for the connection
  -                ?MODULE ! {comm_server_create_connection,
  -                           Address, Port, self()},
  -                receive {comm_server_create_connection_done, X} -> ok end,
  -                X
  -    end,
  -    ConnPid ! {send, Pid, Message},
  +    ?MODULE ! {send, Address, Port, Pid, Message},
       ok.
   
   -spec unregister_connection(inet:ip_address(), tcp_port(), Type::'send' | 'rcv') -> ok.
  
positive.code: 
  %% @doc message handler
  -spec on(message(), State::null) -> null.
  on({comm_server_create_connection, Address, Port, ClientPid}, State) ->
      case ets:lookup(?MODULE, {Address, Port, 'send'}) of
          [] ->
              {ok, Pid} = comm_connection:start_link(pid_groups:my_groupname(),
                                                     Address, Port),
              ets:insert(?MODULE, {{Address, Port, 'send'}, Pid});
          [{_, Pid}] -> ok
      end,
      ClientPid ! {comm_server_create_connection_done, Pid},
      State;
  
  on({unregister_conn, Address, Port, Type, Client}, State) ->
      ets:delete(?MODULE, {Address, Port, Type}),
      Client ! {unregister_conn_done},
      State;
  
  on({register_conn, Address, Port, Type, Pid, _Socket, Client}, State) ->
      case ets:lookup(?MODULE, {Address, Port, Type}) of
          [] -> ets:insert(?MODULE, {{Address, Port, Type}, Pid});
          _ -> ok
      end,
      Client ! {register_conn_done},
  
negative.code: 
  -type tcp_port() :: 0..65535.
  -type message() ::
      {send, Address::inet:ip_address(), Port::tcp_port(), Pid::pid(), Message::comm:message()} |
      {unregister_conn, Address::inet:ip_address(), Port::tcp_port(), Type::'send' | 'rcv', Client::pid()} | 
      {register_conn, Address::inet:ip_address(), Port::tcp_port(), Type::'send' | 'rcv', Pid::pid(), Socket::inet:socket(), Client::pid()} | 
      {set_local_address, Address::inet:ip_address(), Port::tcp_port(), Client::pid()}.
  