anchor.diff:      
   -compile({inline, [dest2sockaddr/1]}).
   dest2sockaddr({Addr, Port})
  -  when is_tuple(Addr) andalso (size(Addr) =:= 4) andalso is_integer(Port) ->
  +  when is_tuple(Addr) andalso (tuple_size(Addr) =:= 4) andalso
  +       is_integer(Port) ->
       #{family => inet,
         port   => Port,
         addr   => Addr};
   dest2sockaddr({Addr, Port})
  -  when is_tuple(Addr) andalso (size(Addr) =:= 8) andalso is_integer(Port) ->
  +  when is_tuple(Addr) andalso (tuple_size(Addr) =:= 8) andalso
  +       is_integer(Port) ->
       #{family => inet6,
         port   => Port,
         addr   => Addr};
  
positive.code: 
  send(Socket, Addr, Port, AncData, Data)
    when is_tuple(Addr) andalso
         ((size(Addr) =:= 4) orelse (size(Addr) =:= 8)) andalso
         is_integer(Port) ->
      send(Socket, {Addr, Port}, AncData, Data);
  send(?MODULE_socket(_, ESock) = Socket,
  
negative.code: 	       make_cmsghdrs(AncData));
  send(Socket, Addr, Port, Data)
    when is_tuple(Addr) andalso
         ((tuple_size(Addr) =:= 4) orelse (tuple_size(Addr) =:= 8)) andalso
         is_integer(Port) ->
      send(Socket, {Addr, Port}, Data);
  send(?MODULE_socket(_, ESock) = Socket,
  