diff --git a/packages/shared/src/DrainableWorker.ts b/packages/shared/src/DrainableWorker.ts
index 55483f33e8..f0d22ba1e4 100644
--- a/packages/shared/src/DrainableWorker.ts
+++ b/packages/shared/src/DrainableWorker.ts
@@ -38,7 +38,11 @@ export interface DrainableWorker {
export const makeDrainableWorker = (
process: (item: A) => Effect.Effect,
): Effect.Effect, never, Scope.Scope | R> =>
- Effect.gen(function* () {
+ Effect.fn("makeDrainableWorker")(function* (): Effect.fn.Return<
+ DrainableWorker,
+ never,
+ Scope.Scope | R
+ > {
const queue = yield* Effect.acquireRelease(TxQueue.unbounded(), TxQueue.shutdown);
const outstanding = yield* TxRef.make(0);
@@ -65,4 +69,4 @@ export const makeDrainableWorker = (
);
return { enqueue, drain } satisfies DrainableWorker;
- });
+ })();