reduceOrNull

inline fun <B> reduceOrNull(initial: (A) -> B, operation: (B, A) -> B): B?