anchor.diff:      Mod:assert_stream_end(StreamEndRep, Props).
   
   default_timeout() -> 5000.
  -
  -default_recv_opts(Timeout) ->
  -    #{timeout => Timeout, pred => fun(_) -> false end}.
  
positive.code: get_stanza_safe(Client, Timeout, Pred) ->
      receive_stanza(Client, #{timeout => Timeout, with_metadata => true, safe => true, pred => Pred}).
  
  -spec wait(client(), timeout()) -> no_return().
  wait(Client, Timeout) ->
      receive_stanza(Client, default_recv_opts(Timeout)).
  
  -spec wait_safely(client(), timeout()) -> ok.
  wait_safely(Client, Timeout) ->
      DefaultOpts = default_recv_opts(Timeout),
      {error, timeout} = receive_stanza(Client, DefaultOpts#{safe => true}),
      ok.
  
  -spec wait_forever(client()) -> no_return().
  
negative.code:          get_stanza_safe/2,
           get_stanza_safe/3,
           wait/2,
           wait_forever/1,
           receive_stanza/2,
           get_sm_h/1,
  