/** * Returns a successful effect if the value is `Left`, or fails with the error e. * * @tsplus static effect/core/stm/STM.Aspects leftOrFail * @tsplus pipeable effect/core/stm/STM leftOrFail */ export function leftOrFail(orFail: (c: C) => E1) { return (self: STM>): STM => self.flatMap((_) => _.fold(STM.succeed, (x) => STM.failSync(orFail(x)))) }