anchor.diff:  %%      Used as value_creator in tester.erl (property testing).
   -spec tester_create_state(ConvCount, Leader, LoadData, Merged, Range, Round, Status,
           NoOfBuckets, Request, Instance) -> state() when
  -    ConvCount :: non_neg_integer(),
  -    Leader :: boolean(),
  -    LoadData::load_data(),
  -    Merged :: non_neg_integer(),
  -    Range :: intervals:non_empty_interval(),
  -    Round :: non_neg_integer(),
  -    Status :: init|uninit,
  -    NoOfBuckets :: 1..50,
  -    Request :: boolean(),
  -    Instance :: instance().
  +    is_subtype(ConvCount, non_neg_integer()),
  +    is_subtype(Leader, boolean()),
  +    is_subtype(LoadData, load_data()),
  +    is_subtype(Merged, non_neg_integer()),
  +    is_subtype(Range, intervals:non_empty_interval()),
  +    is_subtype(Round, non_neg_integer()),
  +    is_subtype(Status, init|uninit),
  +    is_subtype(NoOfBuckets, 1..50),
  +    is_subtype(Request, boolean()),
  +    is_subtype(Instance, instance()).
   tester_create_state(ConvCount, Leader, LoadData, Merged, Range, Round, Status,
           NoOfBuckets, Request, Instance) ->
       NewState = ets:new(cbstate, [set, protected]),
  
positive.code: 
  
  -spec finish_request(State) -> {ok, State} when
      State :: state().
  finish_request(State) ->
      Histo = load_data_get(histo, state_get(load_data, State)),
      case state_get(leader, State) of
  
negative.code: 
  
  -spec new_round(NewRound, State) -> {ok, State} when
      is_subtype(NewRound, non_neg_integer()),
      is_subtype(State, state()).
  new_round(NewRound, State) ->
      % Only replace prev round with current round if current has converged.
      % Cases in which current round has not converged: e.g. late joining, sleeped/paused.
  