aggregate

inline fun <T> Iterable<KotlinResult<T>>.aggregate(reduce: (List<Throwable>) -> Throwable = { it.first() }): KotlinResult<List<T>>