anchor.diff:  %%%===================================================================
   
   handle_set_opts(
  -  From, Opts, #data{socket_options = SockOpts} = StateData) ->
  -    {keep_state, StateData#data{socket_options = set_opts(SockOpts, Opts)},
  +  From, Opts, #data{static = #static{socket_options = SockOpts} = Static} = StateData) ->
  +    {keep_state, StateData#data{static = Static#static{socket_options = set_opts(SockOpts, Opts)}},
        [{reply, From, ok}]}.
   
   handle_common(
     {call, From}, {set_opts, Opts},
  -  #data{socket_options = SockOpts} = StateData) ->
  -    {keep_state, StateData#data{socket_options = set_opts(SockOpts, Opts)},
  +  #data{static = #static{socket_options = SockOpts} = Static} = StateData) ->
  +    {keep_state, StateData#data{static = Static#static{socket_options = set_opts(SockOpts, Opts)}},
        [{reply, From, ok}]};
   handle_common(
     info, {'DOWN', Monitor, _, _, Reason},
  -  #data{connection_monitor = Monitor,
  -        dist_handle = Handle} = StateData) when Handle =/= undefined ->
  +  #data{static = #static{connection_monitor = Monitor,
  +                         dist_handle = Handle}} = StateData) when Handle =/= undefined ->
       {next_state, death_row, StateData,
        [{state_timeout, 5000, Reason}]};
   handle_common(
     info, {'DOWN', Monitor, _, _, _},
  -  #data{connection_monitor = Monitor} = StateData) ->
  +  #data{static = #static{connection_monitor = Monitor}} = StateData) ->
       {stop, normal, StateData};
   handle_common(info, Msg, _) ->
       Report =
  
positive.code: connection({call, From}, {set_opts, Opts}, StateData) ->
      handle_set_opts(From, Opts, StateData);
  connection({call, From}, dist_get_tls_socket, 
             #data{protocol_cb = Connection, 
                   transport_cb = Transport,
                   socket = Socket,
                   connection_pid = Pid, 
                   tracker = Tracker} = StateData) ->
      TLSSocket = Connection:socket([Pid, self()], Transport, Socket, Connection, Tracker),
      {next_state, ?FUNCTION_NAME, StateData, [{reply, From, {ok, TLSSocket}}]};
  connection({call, From}, {dist_handshake_complete, _Node, DHandle},
             #data{connection_pid = Pid} = StateData) ->
      ok = erlang:dist_ctrl_input_handler(DHandle, Pid),
      ok = ssl_connection:dist_handshake_complete(Pid, DHandle),
      %% From now on we execute on normal priority
      process_flag(priority, normal),
      {keep_state, StateData#data{dist_handle = DHandle},
       [{reply,From,ok}|
        case dist_data(DHandle) of
            [] ->
  
negative.code: 
  -define(SERVER, ?MODULE).
  
  -record(static,
          {connection_pid,
           role,
           socket,
           socket_options,
           tracker,
           protocol_cb,
           transport_cb,
           negotiated_version,
           renegotiate_at,
           connection_monitor,
           dist_handle
          }).
  
  -record(data,
          {static = #static{},
           connection_states = #{}
          }).
  
  %%%===================================================================
  %%% API
  