anchor.diff:                       Server,
                        {setopts,
                         [{start_opts, StartOpts}] ++ SocketOpts ++ Setopts})),
  -                if
  -                    is_map_key(fd, ExtraOpts) -> ok;
  -                    true -> ok(ErrRef, call_bind(Server, BindAddr))
  -                end,
  +                ok(ErrRef, call_bind(Server, BindAddr)),
                   Socket = val(ErrRef, call(Server, {listen, Backlog})),
                   {ok, ?MODULE_socket(Server, Socket)}
               catch
  
positive.code:             ErrRef = make_ref(),
              try
                  ok(ErrRef, call(Server, {setopts, SocketOpts ++ Setopts})),
                  if
                      is_map_key(fd, ExtraOpts) -> ok;
                      true -> ok(ErrRef, call_bind(Server, BindAddr))
                  end,
                  DefaultError = {error, einval},
                  Socket =  
                      val(ErrRef,
  
negative.code:     error(badarg, [Arg]).
  
  
  socket_open(Domain, Proto, #{fd := FD} = ExtraOpts, Extra) ->
      Opts =
          (maps:merge(Extra, maps:remove(fd, ExtraOpts)))
          #{dup      => false,
            domain   => Domain,
            type     => stream,
            protocol => Proto},
      %% ?DBG([{fd, FD}, {opts, Opts}]),
      socket:open(FD, Opts);
  socket_open(Domain, Proto, ExtraOpts, Extra) ->
      Opts = maps:merge(Extra, ExtraOpts),
      %% ?DBG([{netns, NS}, {opts, Opts}]),
      socket:open(Domain, stream, Proto, Opts).
  
  
  terminate(_Reason, State, {_P, _} = P_D) ->
  