const output = yield* fnThatReturnsAnEffect().pipe(
Effect.catchTags({
TaggedError1: () => Effect.succeed(null),
TaggedError2: Effect.die,
}),
// this ensures all known error types have been handled
Effect.mapError((error) => Match.value(error).pipe(Match.exhaustive))
);
const output = yield* fnThatReturnsAnEffect().pipe(
Effect.catchTags({
TaggedError1: () => Effect.succeed(null),
TaggedError2: Effect.die,
}),
// this ensures all known error types have been handled
Effect.mapError((error) => Match.value(error).pipe(Match.exhaustive))
);