anchor.diff:      assert_stream_features(StreamFeatures, Transport, IsLegacy),
       {Conn, Props, get_stream_features(StreamFeatures)}.
   
  --spec maybe_use_ssl/3 :: ?CONNECTION_STEP.
  +-spec ?CONNECTION_STEP_SIG(maybe_use_ssl).
   maybe_use_ssl(Conn, Props, Features) ->
       case use_ssl(Props, Features) of
           true ->
  
positive.code:             {Conn, Props, Features}
      end.
  
  -spec stream_resumption/3 :: ?CONNECTION_STEP.
  stream_resumption(Conn, Props, Features) ->
      escalus_connection:send(Conn, escalus_stanza:enable_sm([resume])),
      Enabled = escalus_connection:get_stanza(Conn, stream_resumption),
  
negative.code:             {Conn, Props, Features}
      end.
  
  -spec ?CONNECTION_STEP_SIG(use_carbons).
  use_carbons(Conn, Props, Features) ->
      escalus_connection:send(Conn, escalus_stanza:carbons_enable()),
      Result = escalus_connection:get_stanza(Conn, carbon_iq_response),
      escalus:assert(is_iq, [<<"result">>], Result),
      {Conn, Props, Features}.
  
  -spec ?CONNECTION_STEP_SIG(maybe_use_compression).
  maybe_use_compression(Conn, Props, Features) ->
      case can_use_compression(Props, Features) of
          true ->
  