```inline fun <T, K, R> Grouping<T, K>...
# announcements
n
Copy code
inline fun <T, K, R> Grouping<T, K>.aggregate(
    operation: (key: K, accumulator: R?, element: T, first: Boolean) -> R
): Map<K, R>
Looking at aggregate, I can understand why, if
R
is already a nullable type, you need
first
. However, if R is not a nullable type (which is probably the more common case), then it seems like you don't need
first
at all; if accumulator is null then you're on the first element, otherwise you're not. Why is there not an overload for
aggregate
that takes a 3 parameter lambda?