These types are very basic ones and will be used by someone who aims to create a custom wallet using BDK internal structures -> but they can't do currently because these types take BDK's default keychainkind consisting of Internal & External keychain.
Thus , they should take keychainkind as generics.
Use case
This will avoid downstream users to recreate these types to make them compatible with their keychains.
Describe the enhancement
https://github.com/bitcoindevkit/bdk/blob/82141a820123fcf48cb1b49702f59d7fe14ee8b2/crates/wallet/src/types.rs#L1
These types are very basic ones and will be used by someone who aims to create a custom wallet using BDK internal structures -> but they can't do currently because these types take BDK's default keychainkind consisting of
Internal
&External
keychain.Thus , they should take keychainkind as generics.
Use case