Ā© 2026 Hedgehog Software, LLC
const getNumber = (number: Effect.Effect<Option.Option<number>>) => number.pipe( Effect.flatMap(identity), Effect.catchTag('NoSuchElementException', () => new NoNumberProvided()), )
const getNumber2 = (number: Effect.Effect<Option.Option<number>>) => Effect.flatMap(number, (a) => Option.isSome(a) ? Effect.succeed(a.value) : Effect.fail(new NoNumberProvided()), )
Effect.getOrFail(new NoNumberProvided())