将数据结构的结构性构件一致性的替代为函数和值。例如在很多函数式语言中，列表是用两个原语建造的：任何列表要么是一个空列表，通常叫做codice_1（codice_2），要么是通过将一个元素前缀于另一个列表之前来构造的，通过应用codice_3函数（在Haskell中写为冒号codice_4），建立所谓的cons，比如codice_5。可以将在列表上的折叠看作是将这个列表的末端的codice_1替代为一个特殊的值，并用一个特殊函数替代每个codice_3。使用Haskell作为例子，可以用几个等式公式化出右