anchor.diff:  		   type     := stream,
   		   protocol := tcp} when (Domain =:= inet) orelse
   					 (Domain =:= inet6) ->
  -		     [{tcp, Opt} || {Opt, true} <-
  +		     [{{tcp, Opt}, Supported} || {Opt, Supported} <-
   					socket:supports(options, tcp)];
   		 #{domain   := Domain,
   		   type     := dgram,
   		   protocol := udp} when (Domain =:= inet) orelse
   					 (Domain =:= inet6) ->
  -		     [{udp, Opt} || {Opt, true} <-
  +		     [{{udp, Opt}, Supported} || {Opt, Supported} <-
   					socket:supports(options, udp)];
   		 #{domain   := Domain,
   		   type     := seqpacket,
   		   protocol := sctp} when (Domain =:= inet) orelse
   					  (Domain =:= inet6) ->
  -		     [{sctp, Opt} || {Opt, true} <-
  +		     [{{sctp, Opt}, Supported} || {Opt, Supported} <-
   					 socket:supports(options, sctp)];
   		 _ ->
   		     []
   	     end,
  -	 %% d("get_socket_list -> "
  -	 %%   "~n   Socket Opts: ~p"
  -	 %%   "~n   Domain Opts: ~p"
  -	 %%   "~n   Proto Opts:  ~p", [SockOpts, DomainOpts, ProtoOpts]),
  -	 Opts = SockOpts ++ DomainOpts ++ ProtoOpts,
  -	 Options =
  -	     [case socket:getopt(S, Opt) of
  -		  %% Convert to string?
  -		  {ok, Value} ->
  -		      %% d("get_socket_list -> ok: "
  -		      %% 	"~n   Option: ~p"
  -		      %% 	"~n   Value:  ~p", [Opt, Value]),
  -		      {Opt, if (Value =:= []) -> "-"; true -> Value end};
  -		  %% We need to handle error cases and convert them
  -		  %% to something useful ("Not Supported")
  -		  {error, enotsup} = _ERROR ->
  -		      %% d("get_socket_list -> error: enotsup"),
  -		      {Opt, "Not Supported"};
  -		  {error, enoprotoopt} = _ERROR ->
  -		      %% d("get_socket_list -> error: enoprotoopt"),
  -		      {Opt, "Not Supported"};
  -		  {error, enotconn} = _ERROR ->
  -		      %% d("get_socket_list -> error: enotconn"),
  -		      {Opt, "Not Connected"};
  -		  {error, {invalid, _}} = _ERROR ->
  -		      %% d("get_socket_list -> error: invalid"),
  -		      {Opt, "Not Implemented"};
  -		  {error, Reason} ->
  -		      %% d("get_socket_list -> error: "
  -		      %% 	"~n   Option: ~p"
  -		      %% 	"~n   Reason: ~p", [Opt, _Reason]),
  -		      {Opt, f("error:~p", [Reason])}
  -	      end || Opt <- Opts],
  +	 Opts    = SockOpts ++ DomainOpts ++ ProtoOpts,
  +	 Options = [GetOpt(S, Opt) || Opt <- Opts],
   	 %% d("get_socket_list -> "
   	 %%   "~n   Options:  ~p", [Options]),
   	 Info7#{id           => S,
  
positive.code: 		     Info6
  	     end,
  	 SockOpts =
  	     [{socket, Opt} || {Opt, true} <-
  				   socket:supports(options, socket)],
  	 DomainOpts =
  	     case Info7 of
  		 #{domain := inet6} ->
  		     [{ipv6, Opt} || {Opt, true} <-
  					 socket:supports(options, ipv6)];
  		 _ ->
  		     [{ip, Opt} || {Opt, true} <-
  				       socket:supports(options, ip)]
  	     end,
  	 ProtoOpts =
  
negative.code: 
  
  get_socket_list() ->
      GetOpt = fun(_Sock, {Opt, false}) ->
  		     {Opt, "Not Supported"};
  		(Sock, {Opt, true}) ->
  		     case socket:getopt(Sock, Opt) of
  			 %% Convert to string?
  			 {ok, Value0} ->
  			     %% d("get_socket_list -> ok: "
  			     %% 	"~n   Option: ~p"
  			     %% 	"~n   Value:  ~p", [Opt, Value]),
  			     Value =
  				 if
  				     (Value0 =:= []) -> "-";
  				     true -> Value0
  				 end,
  			     {Opt, Value};
  			 %% We need to handle error cases and convert them
  			 %% to something useful ("Not Supported")
  			 {error, enotsup} = _ERROR ->
  			     %% d("get_socket_list -> error: enotsup"),
  			     {Opt, "Not Supported"};
  			 {error, enoprotoopt} = _ERROR ->
  			     %% d("get_socket_list -> error: enoprotoopt"),
  			     {Opt, "Not Supported"};
  			 {error, enotconn} = _ERROR ->
  			     %% d("get_socket_list -> error: enotconn"),
  			     {Opt, "Not Connected"};
  			 {error, {invalid, _}} = _ERROR ->
  			     %% d("get_socket_list -> error: invalid"),
  			     {Opt, "Not Implemented"};
  			 {error, Reason} ->
  			     %% d("get_socket_list -> error: "
  			     %% 	"~n   Option: ~p"
  			     %% 	"~n   Reason: ~p", [Opt, _Reason]),
  			     {Opt, f("error:~p", [Reason])}
  		     end
  	     end,
      [begin
  	 Kind  = socket:which_socket_kind(S),
  	 FD    = case socket:getopt(S, otp, fd) of
  