anchor.diff:  %% The side effect is the creation of XMPP users on a server.
   -spec create_users(config(), [userspec()]) -> config().
   create_users(Config, UserSpecs) ->
  -    FreshSpecs = given_fresh_spec(Config, UserSpecs),
  +    Suffix = fresh_suffix(),
  +    FreshSpecs = given_fresh_specs(Config, UserSpecs, Suffix),
       FreshConfig = escalus_users:create_users(Config, FreshSpecs),
       %% The line below is not needed if we don't want to support cleaning
       ets:insert(nasty_global_table(), {Suffix, FreshConfig}),
  
positive.code: %% It is useful when testing some lower level parts of the protocol
  %% i.e. some stream features. It is side-effect free.
  -spec given_fresh_specs(config(), [userspec()]) -> [config()].
  given_fresh_spec(Config, UserSpecs) ->
      Suffix = fresh_suffix(),
      FreshSpecs = fresh_specs(Config, UserSpecs, Suffix),
      case length(FreshSpecs) == length(UserSpecs) of
          false ->
  
negative.code: 
  %% @doc
  %% Creates a fresh spec for a user and returns it.
  -spec get_fresh_spec(config(), userspec()) -> escalus_users:user_spec().
  get_fresh_spec(Config, {UserName, _Resources} = UserSpec) ->
      Config2 = given_fresh_specs(Config, [UserSpec]),
      escalus_users:get_userspec(Config2, UserName).
  
  
  