Already commented we should change, but I just found it interesting EQC found a bug in this as well (if the seed does not change across restarts its easy to get the same number generated twice). The third `get_token` call doesn't change the state of the ets table at all because the "ref" is the same.

```
Failed!
[{set,{var,5},{call,bg_manager_eqc,set_token_rate,['B',3]}},
 {set,{var,6},{call,bg_manager_eqc,get_token,['B']}},
 {set,{var,8},{call,bg_manager_eqc,get_token,['B']}},
 {set,{var,10},{call,bg_manager_eqc,crash,[]}},
 {set,{var,11},{call,bg_manager_eqc,revive,[]}},
 {set,{var,12},{call,bg_manager_eqc,get_token,['B']}},
 {set,{var,13},{call,bg_manager_eqc,get_token,['B']}}]


Final State:
---------------
alive = true
procs = []
limits = []
locks = []
counts = [{'B',3}]
tokens = [{'B',3}]
---------------


background_mgr_table:
---------------
[{{info,'B'},{resource_info,token,{4294967,3},true}},
 {{given,'B'},
  {resource_entry,'B',token,<0.10102.2>,[],undefined,0.4435846174457203,
                  given}},
 {{given,'B'},
  {resource_entry,'B',token,<0.10102.2>,[],undefined,0.7230402056221108,
                  given}}]
---------------

bg_manager_eqc:set_token_rate('B', 3) -> 0
bg_manager_eqc:get_token('B') -> ok
bg_manager_eqc:get_token('B') -> ok
bg_manager_eqc:crash() -> ok
bg_manager_eqc:revive() -> true
bg_manager_eqc:get_token('B') -> ok
bg_manager_eqc:get_token('B') -> ok

Reason: {postcondition, {3, 'not <', 3}}
```