tcp_point -.+ <addr, port> = 
{
  tcp <addr, port> = 
  {
    addr _;
    port _;
  };

  T_* type_stamp; tcp _;  
};

udp_point -.+ <addr, port> = 
{
  udp <addr, port> =
  {
    addr _;
    port _;
  };

  T_* type_stamp; udp _;  
};

ip_v4 tcp%, udp% = byte[4];
ip_v6 tcp%, udp% = byte[16];

tcp_point_v4 = tcp_point <ip_v4, ushort>;
tcp_point_v6 = tcp_point <ip_v6, ushort>;
udp_point_v4 = udp_point <ip_v4, ushort>;
udp_point_v6 = udp_point <ip_v6, ushort>;
