/** * Atomically folds using a transactional function. * * @tsplus static effect/core/stm/TArray.Aspects reduceSTM * @tsplus pipeable effect/core/stm/TArray reduceSTM */ export function reduceSTM(zero: Z, f: (z: Z, a: A) => STM) { return (self: TArray): STM => self.toChunk.flatMap((as) => STM.reduce(as, zero, f)) }