We break down collection aggregations in Kotlin: how
fold() and
reduce() work, what the accumulator
acc is, why the start value (
initial) is critical for correctness, why empty lists are dangerous for
reduce(), and when to choose the safe variant
reduceOrNull(). Plus: hands-on examples (sum, product, maximum) and typical mistakes.