pub fn lift_through<F: TypeFunction<T> + TypeFunction<U>>(
        self,
    ) -> TypeEq<ApF<F, T>, ApF<F, U>> {
        type R<T, F> = ComposeF<LoefIdF<ApF<F, T>>, F>;
        self.substitute::<R<T, F>>(refl())
    }
/// Lift the type equality through any [`TypeFunction`]
Lift the type equality through any [`TypeFunction`]
Lift the type equality through any [ ` TypeFunction ` ]
pub fn lift_through<F: TypeFunction<T> + TypeFunction<U>>(
        self,
    ) -> TypeEq<ApF<F, T>, ApF<F, U>> {
        type R<T, F> = ComposeF<LoefIdF<ApF<F, T>>, F>;
        self.substitute::<R<T, F>>(refl())
    }
pub fn lift_through < F : TypeFunction < T > + TypeFunction < U > > ( self , ) -> TypeEq < ApF < F , T > , ApF < F , U > > { type R < T , F > = ComposeF < LoefIdF < ApF < F , T > > , F > ; self . substitute :: < R < T , F > > ( refl ( ) ) }
Lift the type equality through any [`TypeFunction`]
Lift the type equality through any [ ` TypeFunction ` ]
self
self