The method signature of split_at_mut is:
pub fn split_at_mut(
&mut self,
mid: usize
) -> (&mut BitSlice<T::Alias, O>, &mut BitSlice<T::Alias, O>)
Note that it takes a BitSlice<T> and produces two BitSlice<<T as BitStore>::Alias>s. The problem is that when you split_at_mut one of the BitSlice<<T as BitStore>::Alias>s, you get two BitSlice<<<T as BitStore>::Alias as BitStore>::Alias>s. So, if I want to repeatedly split a BitSlice, the type gets longer and longer.
How can I keep the type from repeatedly getting longer?