Proposal for Adding a `safe` Option to `Effect.runPromise` and `Effect.runSync`

Hi here!
Would it make sense to add a safe option to Effect.runPromise (and to Effect.runSync too) to force the Effect that is being run to have a never error type?
Something like this
export const runPromise: {
  <A>(
    effect: Effect<A, never, never>,
    options: { readonly signal?: AbortSignal; readonly safe: true }
  ): Promise<A>
  <A, E>(
  effect: Effect<A, E, never>,
  options?: { readonly signal?: AbortSignal; readonly safe?: never } | undefined
): Promise<A>
} = _runtime.unsafeRunPromiseEffect

runPromise(succeed(4), {safe: true}) // correct
runPromise(fail(4), {safe: true}) // error
runPromise(fail(4)) // correct
Was this page helpful?