anchor.diff:              {Conn, Props, Features}
       end.
   
  --spec stream_resumption/3 :: ?CONNECTION_STEP.
  +-spec ?CONNECTION_STEP_SIG(stream_resumption).
   stream_resumption(Conn, Props, Features) ->
       escalus_connection:send(Conn, escalus_stanza:enable_sm([resume])),
       Enabled = escalus_connection:get_stanza(Conn, stream_resumption),
  
positive.code: -define(CONNECTION_STEP, (escalus_connection:client(),
                            escalus_users:user_spec(),
                            features()) -> step_state()).
  -type step() :: fun(?CONNECTION_STEP).
  -type step_state() :: {escalus_connection:client(),
                         escalus_users:user_spec(),
  
negative.code: %%% New style connection initiation
  %%%===================================================================
  
  -spec ?CONNECTION_STEP_SIG(start_stream).
  start_stream(Conn, Props, [] = _Features) ->
      {Props1, []} = start_stream(Conn, Props),
      {Conn, Props1, []}.
  
  -spec ?CONNECTION_STEP_SIG(stream_features).
  stream_features(Conn, Props, [] = _Features) ->
      StreamFeatures = escalus_connection:get_stanza(Conn, wait_for_features),
      Transport = proplists:get_value(transport, Props, tcp),
  