In functional programming, fold is a standard operator that encapsulates a simple pattern of recursion for processing lists. — A tutorial on the universality and expressiveness of fold