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:     handle_recv_error(P, D_1, ActionsR_1, Reason).
  %%
  handle_recv_error(P, D, ActionsR, Reason) ->
  %%%    erlang:display({{self(), ?MODULE, ?LINE, ?FUNCTION_NAME},
  %%%                    Reason}),
      {D_1, ActionsR_1} =
          cleanup_recv_reply(P, D#{buffer := <<>>}, ActionsR, Reason),
      case Reason of
  
negative.code:             {IP, Port};
          #{family := inet6, addr := IP, port := Port} ->
              {IP, Port};
          #{family := local, path := Path} when is_list(Path) ->
              {local, prim_socket:encode_path(Path)};
          #{family := local, path := Path} when is_binary(Path) ->
              {local, Path}
      end.
  
  