Простое сокращение на пустом массиве будет бросать:
Исключение в потоке "main" java.lang.UnsupportedOperationException: Empty iterable не может быть уменьшен.
Такое же исключение при цепочке:
val a = intArrayOf()
val b = a.reduce({ memo, next -> memo + next }) // -> throws an exception
val a1 = intArrayOf(1, 2, 3)
val b1 = a.filter({ a -> a < 0 }).reduce({ a, b -> a + b }) // -> throws an exception
Является ли это ожидаемой операцией сокращения или это ошибка?
Есть ли способы обхода?