anchor.diff:     ?DEBUG(tcp, Addr, Peer, Pckt),
      % TODO: flexible flow control
      ok = inet:setopts(Sock, [{active, once}]),
  -   {emit, 
  -      {tcp, Peer, Pckt},
  -      'ESTABLISHED',
  -      S
  -   };
  +   maybe_recv(Pckt, S);
      
   'ESTABLISHED'({send, _Peer, Pckt}, #fsm{}=S) ->
      maybe_sent(send(Pckt, S), S);
  
positive.code: send(Pckt, #fsm{sock=Sock, addr=Addr, peer=Peer}) ->
     ?DEBUG(tcp, Addr, Peer, Pckt),
     gen_tcp:send(Sock, Pckt).
  
  %%%------------------------------------------------------------------
  %%%
  
negative.code:    peer,   % peer address  
     addr,   % local address
  
     packet, % frame i/o streams into packet(s)
     chunk,  % partially received frame   
  
     opts      % connection option
  }). 
  
  