anchor.diff:                          negotiated_version = Version,
                           renegotiate_at = RenegotiateAt},          
       {next_state, handshake, StateData, [{reply, From, ok}]};
  -init(info, Msg, StateData) -> 
  -    handle_info(Msg, ?FUNCTION_NAME, StateData).
  +init(_, _, _) ->
  +    %% Just in case anything else sneeks through
  +    {keep_state_and_data, [postpone]}.
  +
   %%--------------------------------------------------------------------
   -spec connection(gen_statem:event_type(),
              Msg :: term(),
              StateData :: term()) ->
                     gen_statem:event_handler_result(atom()).
   %%--------------------------------------------------------------------
  -connection({call, From}, renegotiate, 
  -           #data{connection_states = #{current_write := Write}} = StateData) ->
  -    {next_state, handshake, StateData, [{reply, From, {ok, Write}}]};
   connection({call, From}, {application_data, AppData}, 
              #data{socket_options = #socket_options{packet = Packet}} =
                  StateData) ->
  
positive.code:         Data ->
              send_application_data(Data, From, ?FUNCTION_NAME, StateData)
      end;
  connection({call, From}, {set_opts, _} = Call, StateData) ->
      handle_call(From, Call, ?FUNCTION_NAME, StateData);
  connection({call, From}, dist_get_tls_socket, 
             #data{protocol_cb = Connection, 
                   transport_cb = Transport,
  
negative.code: 	    {error, closed}
      end.
  
  %%-------------- Erlang distribution helpers ------------------------------
  
  dist_data(DHandle) ->
      case erlang:dist_ctrl_get_data(DHandle) of
          none ->
              erlang:dist_ctrl_get_data_notification(DHandle),
  