As we know from this doc, account get reaped when it's consumers/providers/sufficients (all of them) reference count decreased to 0. These counters described as:
/// The number of other modules that currently depend on this account's existence. The account
/// cannot be reaped until this is zero.
pub consumers: RefCount,
/// The number of other modules that allow this account to exist. The account may not be reaped
/// until this and `sufficients` are both zero.
pub providers: RefCount,
/// The number of modules that allow this account to exist for their own purposes only. The
/// account may not be reaped until this and `providers` are both zero.
pub sufficients: RefCount,
Suppose that we have a pallet that has storage map AccountId -> SomeData
. And in this pallet we could increment some of the references counts mentioned above to keep account alive until we descrease this. Let's consider a case when we don't do this. The questions are the following:
Are there any differences between account that was reaped and then endowed again and account that was not reaped because we added a reference?
When we really should modify these counters in our pallets?