Attribute a tree via an algebra starting from the root.
Kleisli variant of attributeTopDown
A Kleisli catamorphism.
A catamorphism generalized with a comonad outside the functor.
A catamorphism generalized with a comonad inside the functor.
Mutually-recursive fold.
Mutually-recursive fold.
Combines two functors that may fail to merge, also providing access to the inputs at each level.
Combines two functors that may fail to merge, also providing access to the inputs at each level. This is akin to an Elgot, not generalized, fold.
Folds for recursive data types.