anchor.diff:  %%--------------------------------------------------------------------
   death_row(state_timeout, Reason, _State) ->
       {stop, {shutdown, Reason}};
  +death_row(info = Type, Msg, State) ->
  +    handle_common(Type, Msg, State);
   death_row(_Type, _Msg, _State) ->
       %% Waste all other events
       keep_state_and_data.
  
positive.code: callback_mode() -> 
      state_functions.
  
  
  -define(HANDLE_COMMON,
          ?FUNCTION_NAME(Type, Msg, StateData) ->
                 handle_common(Type, Msg, StateData)).
  %%--------------------------------------------------------------------
  -spec init(Args :: term()) ->
                    gen_statem:init_result(atom()).
  %%--------------------------------------------------------------------
  init(_) ->
      %% Note: Should not trap exits so that this process
      %% will be terminated if tls_connection process is
      %% killed brutally
      {ok, init, #data{}}.
  
  %%--------------------------------------------------------------------
  
negative.code: %%% Internal functions
  %%%===================================================================
  
  handle_set_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{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, {'EXIT', _Sup, shutdown},
                #data{static = #static{dist_handle = Handle}} = StateData) when Handle =/= undefined ->
      {next_state, death_row, StateData, [{state_timeout, 5000, shutdown}]};
  handle_common(info, {'EXIT', _Sup, shutdown}, StateData) ->
      {stop, shutdown, StateData};
  handle_common(info, Msg, #data{static = #static{log_level = Level}}) ->
      ssl_logger:log(info, Level, #{event => "TLS sender recived unexpected info", 
                                    reason => [{message, Msg}]}, ?LOCATION),
  