/// A location in a consensus system is defined as an *isolatable state machine* held within global
/// - A logical functional component of a chain, e.g. a single instance of a pallet on a Frame-based
/// universally. It is comprised of an integer number of parents specifying the number of times to
/// This specific `MultiLocation` implementation uses a `Junctions` datatype which is a Rust `enum`
/// in order to make pattern matching easier. There are occasions where it is important to ensure
/// Splits off the first interior junction, returning the remaining suffix (first item in tuple)
/// assert_eq!(m.prepend_with(MultiLocation::new(1, [Parachain(21), OnlyChild].into())), Ok(()));
pub fn reanchor(&mut self, target: &MultiLocation, ancestry: &MultiLocation) -> Result<(), ()> {
/// A tuple struct which can be converted into a `MultiLocation` of `parents` value 1 with the inner
/// A unit struct which can be converted into a `MultiLocation` of the inner `parents` value and the
/// Non-parent junctions that can be constructed, up to the length of 8. This specific `Junctions`
#[derive(Clone, Eq, PartialEq, Ord, PartialOrd, Encode, Decode, Debug, TypeInfo, MaxEncodedLen)]