package org.zwobble.couscous.util; import java.util.function.BiFunction; public class Fold { public static V foldLeft(Iterable iterable, V initialValue, BiFunction function) { V value = initialValue; for (T element : iterable) { value = function.apply(value, element); } return value; } }