/** * Reduces an `Collection>` to a single `STM`, working * sequentially. * * @tsplus static effect/core/stm/STM.Ops reduceAll */ export function reduceAll( a: STM, as: Collection>, f: (acc: A, a: A) => A ): STM { return STM.suspend(as.reduce(a, (acc, a) => acc.zipWith(a, f))) }