anchor.diff:                      %%
                       Domain = domain(Mod),
                       %% ?DBG({Domain, BindIP}),
  -                    BindAddr = bind_addr(Domain, BindIP, BindPort),
  +                    BindAddr = bind_addr(Domain, BindIP, BindPort, Fd),
  +                    ExtraOpts = extra_opts(Fd),
   		    %% ?DBG([{listen_opts, ListenOpts}, {backlog, Backlog}]),
                       listen_open(
  -                      Domain, ListenOpts, StartOpts, Fd, Backlog, BindAddr)
  +                      Domain, ListenOpts, StartOpts, ExtraOpts,
  +                      Backlog, BindAddr)
               end;
           {error, _} = Error ->
               ?badarg_exit(Error)
  
positive.code: 
  %% Helpers -------
  
  listen_open(Domain, ListenOpts, Opts, Fd, Backlog, BindAddr) ->
      %% ?DBG([{domain,      Domain},
      %%  	  {listen_opts, ListenOpts},
      %%  	  {opts,        Opts},
      %%  	  {fd,          Fd},
      %%  	  {backlog,     Backlog},
      %%  	  {bind_addr,   BindAddr}]),
  
      ExtraOpts =
          if
              Fd =:= -1      -> #{};
              is_integer(Fd) -> #{fd => Fd};
              %% This is an **ugly** hack.
              %% inet:connect_options/2 has the bad taste to use this
              %% for [{netns, NS}] if that option is used...
              %% Which is never called here, but just to keep it the same
              %% we use the same for listen!
              is_list(Fd)    -> #{netns => Fd}
          end,
  
      {SocketOpts, StartOpts0} = setopts_split(socket, Opts),
      %% ?DBG([{socket_opts, SocketOpts}, {start_opts0, StartOpts0}]),
  
negative.code:             opts = ConnectOpts}} ->
              %%
              %% ?DBG({Domain, BindIP}),
              BindAddr = bind_addr(Domain, BindIP, BindPort, Fd),
              ExtraOpts = extra_opts(Fd),
              connect_open(
                Addrs, Domain, ConnectOpts, StartOpts, ExtraOpts,
                Timer, BindAddr)
      catch
          throw : {ErrRef, Reason} ->
              ?badarg_exit({error, Reason})
      end.
  
  connect_open(Addrs, Domain, ConnectOpts, Opts, ExtraOpts, Timer, BindAddr) ->
      %% ?DBG({Addrs, Domain, ConnectOpts, Opts, ExtraOpts, Timer, BindAddr}),
  
      %%
      %% The {netns, File} option is passed in Fd by inet:connect_options/2,
      %% and then over to ExtraOpts.
      %% The {debug, Bool} option is passed in Opts since it is
      %% subversively classified as both start and socket option.
      %%
  
      {SocketOpts, StartOpts} = setopts_split(socket, Opts),
      %% ?DBG([{socket, SocketOpts}, {start, StartOpts}]),
  