anchor.diff:      process_flag(trap_exit, true),
       OwnerMon = monitor(process, Owner),
       Extra = maps:from_list(ExtraOpts),
  -    case socket:open(Domain, stream, tcp, Extra) of
  +    Proto = if (Domain =:= local) -> default; true -> tcp end,
  +    case socket:open(Domain, stream, Proto, Extra) of
           {ok, Socket} ->
  -            D = server_opts(),
  +            D  = server_opts(),
               ok = socket:setopt(Socket, otp, iow, true),
               ok = socket:setopt(Socket, otp, meta, meta(D)),
               P =
  
positive.code: %%%    %% Since send data may have been lost, and there is no room
  %%%    %% in this API to inform the caller, we at least close
  %%%    %% the socket in the write direction
  %%%%%%    erlang:display({{self(), ?MODULE, ?LINE, ?FUNCTION_NAME},
  %%%%%%                    Error}),
  %%%    case Error of
  %%%        {error, econnreset} ->
  %%%            case maps:get(show_econnreset, Meta) of
  
negative.code: %% -------------------------------------------------------------------------
  
  sockaddrs([], _TP, _Domain) -> [];
  sockaddrs([{local, Path} | IPs], TP, Domain) when (Domain =:= local) ->
      [#{family => Domain, path => Path}
       | sockaddrs(IPs, TP, Domain)];
  sockaddrs([IP | IPs], TP, Domain) ->
      [#{family => Domain, addr => IP, port => TP}
       | sockaddrs(IPs, TP, Domain)].
  