On the semantics of nested datatypes - Martin, C; Gibbons, J (2001)
The initial algebra semantics of nested datatypes was proved to be valid in a wide class of categories. There is a unique morphism from each initial functional algebra to any other functional algebra. folds are standard operators in functional programming and satisfy fusion laws that are useful for program transformation. Asemantic for second order nested datatypes were used so that generalized folds could also be defined in second order datatypes.