/// `AssetKind` value is not itself bounded (to avoid the issue of needing to wrap some preexisting
/// This relies on the XCM `TransferAsset` instruction. A trait `BeneficiaryRefToLocation` must be
/// See also `PayAccountId32OverXcm` which is similar to this except that `BeneficiaryRefToLocation`
/// Specialization of the [`PayOverXcm`] trait to allow `[u8; 32]`-based `AccountId` values to be
/// `Into<[u8; 32]>` (as 32-byte `AccountId`s generally do), and the actual XCM beneficiary will be
/// the location consisting of a single `AccountId32` junction with an appropriate account and no
/// Simple struct which contains both an XCM `location` and `asset_id` to identify an asset which
/// Adapter `struct` which implements a conversion from any `AssetKind` into a [`LocatableAssetId`]