Using `Adapter` in Generators for Deno with TypeScript 5.5.2

Hi, do I still need to use Adapter in generators in the recent Deno (TS 5.5.2)?
// main.ts
import { Effect } from "npm:effect";
const myEffect = Effect.gen(function* () {
  console.log("Start processing...");
  yield* Effect.sleep("2 seconds");
  console.log("Processing complete.");
  return "Result";
});
const timedEffect = 
  myEffect.pipe(Effect.timeout("3 seconds"));
Effect.runPromise(timedEffect).then(console.log);

deno check ./main.ts failed with
Check main.ts
error: TS2488 [ERROR]: Type 'Effect<void, never, never>' must have a '[Symbol.iterator]()' method that returns an iterator.
  yield* Effect.sleep("2 seconds");
         ~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///main.ts:4:10

TS2345 [ERROR]: Argument of type 'Effect<string, unknown, unknown>' is not assignable to parameter of type 'Effect<string, unknown, never>'.
  Type 'unknown' is not assignable to type 'never'.
Effect.runPromise(timedEffect).then(console.log);
                  ~~~~~~~~~~~
    at file:///main.ts:9:19

Found 2 errors.

deno run ./main.ts failed with
Start processing...
error: Uncaught (in promise) (FiberFailure) TypeError: yield* (intermediate value)(intermediate value)(intermediate value) is not iterable

BUT! With (_) adapter and all work as expected!
deno --version
deno 1.46.1 (stable, release, x86_64-pc-windows-msvc)
v8 12.9.202.2-rusty
typescript 5.5.2


Why do I need an adapter in Deno if TS 5.5+ do not require it according to Effect-TS docs?
How to get rid of adapter usage in generators in Deno?
Was this page helpful?