Trait recursion_schemes::recursive::RecursiveExt
source · pub trait RecursiveExt: Recursive {
fn fold_recursive<Out, F: FnMut(<<Self as Recursive>::FunctorToken as Functor>::Layer<Out>) -> Out>(
self,
collapse_layer: F
) -> Out;
fn expand_and_collapse<Seed, Out>(
seed: Seed,
expand_layer: impl FnMut(Seed) -> <<Self as Recursive>::FunctorToken as Functor>::Layer<Seed>,
collapse_layer: impl FnMut(<<Self as Recursive>::FunctorToken as Functor>::Layer<Out>) -> Out
) -> Out;
}