// ets_tracing: off import { yieldNow } from "./core.js" import type { Effect } from "./effect.js" import { orElse_ } from "./orElse.js" import { zipRight_ } from "./zips.js" /** * Returns an effect that ignores errors and runs repeatedly until it eventually succeeds. */ export function eventually( fa: Effect, __trace?: string ): Effect { return orElse_(fa, () => zipRight_(yieldNow, eventually(fa)), __trace) }