Fold (higher-order function) - Wikipedia