Open this lesson on a wider screen to play it. The narrated transcript and animated code need room to sit side by side.
← All lessonsimport { Effect } from "effect";
// Inside gen, pipe still shines for a quick point-free transform on one value.
const program = Effect.gen(function* () {
const doubled = yield* Effect.succeed(21).pipe(Effect.map((n) => n * 2));
const label = yield* Effect.succeed("answer");
return `${label}: ${doubled}`;
});
// ^? Effect<string, never, never>
console.log(Effect.runSync(program)); // answer: 42