Introduces `TypeWithDefault<T, D: Get<T>>` (#4034)
Needed for: https://github.com/polkadot-fellows/runtimes/issues/248
This PR introduces a new type `TypeWithDefault<T, D: Get<T>>` to be able
to provide a custom default for any type. This can, then, be used to
provide the nonce type that returns the current block number as the
default, to avoid replay of immortal transactions.
---------
Co-authored-by: Oliver Tale-Yazdi <[email protected]>