In the various frame pallets in substrate there are two ways of declaring storage.
For example some pallet storage is declared with
<T: Config> while others are declared
<T: Config<I>, I: 'static = ()>
pub type WhitelistedCall<T: Config> = StorageMap<_, Twox64Concat, T::Hash, (), OptionQuery>;
pub type TotalIssuance<T: Config<I>, I: 'static = ()> = StorageValue<_, T::Balance, ValueQuery>;
It is not clear what the advantage of using the
'static (long-lived) type is in this context. What is it?