reduceOrNull

Accumulates value starting with the first element and applying operation from left to right to current accumulator value and each element.

inline fun <S, T : S> Sequence<T>.reduceOrNull(operation: (acc: S, T) -> S): S?(source)
val numbers = sequenceOf(1, 2, 3, 4)
val sum = numbers.reduceOrNull { acc, i -> acc + i }   // sum == 10

val empty = emptySequence<Int>()
val result = empty.reduceOrNull { acc, i -> acc + i }   // result == null

Source