aggregate
inline fun <Ok, ErrorIn, ErrorOut> Iterable<Outcome<Ok, ErrorIn>>.aggregate(reduce: (List<ErrorIn>) -> ErrorOut): Outcome<List<Ok>, ErrorOut>
Combines every Outcome in the Iterable into a single result.
If all elements are Success, returns a Success wrapping a List of each element's value.
If any element is a Failure, collects all errors and returns a Failure produced by reduce.