// ets_tracing: off import { chain_, yieldNow } from "./core.js" import type { Effect } from "./effect.js" import { zipRight_ } from "./zips.js" /** * Repeats this effect forever (until the first error). */ export function forever( effect: Effect, __trace?: string ): Effect { return chain_(effect, () => zipRight_(yieldNow, forever(effect)), __trace) }