catamorphisms
Catamorphisms are a general pattern for folds over recursively defined data types in category theory. They arise from the notion of an initial algebra for an endofunctor F on a category. An F-algebra is a pair (A, α: F A → A). A morphism of algebras h: (A, α) → (B, β) satisfies h ∘ α = β ∘ F h. An initial F-algebra is (μF, in: F μF → μF) such that for every F-algebra (X, αX) there exists a unique h: μF → X with h ∘ in = αX ∘ F h. The map h is the catamorphism.
In programming terms, μF is the canonical recursive data type given as the fixed point of F,
Examples include lists and trees. Lists can be described as the initial algebra for the functor F