export function reduce<T, R>(iterable: Iterable<T>, reducer: (previousValue: R, currentValue: T) => R, initialValue: R): R {
for (const element of iterable) {
value = reducer(value, element);
}
}
export function length<T>(iterable: Iterable<T>): number {