• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Snowflyt / tinyeffect / 14146932363

29 Mar 2025 03:14PM UTC coverage: 98.954% (+0.08%) from 98.876%
14146932363

push

github

Snowflyt
✨ feat: Bump version to 0.3.4

423 of 434 branches covered (97.47%)

Branch coverage included in aggregate %.

901 of 904 relevant lines covered (99.67%)

448.01 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

98.92
/src/effected.ts
1
import { UnhandledEffectError } from "./errors";
3✔
2
import type { Default, UnhandledEffect, Unresumable } from "./types";
3
import { Effect } from "./types";
3✔
4

5
/**
6
 * Create a function that returns an {@link Effected} instance (an effected program) which yields a
7
 * single {@link Effect} instance (algebraic effect) and returns the handled value. The returned
8
 * function can be utilized with {@link effected} to compose and integrate into a more complex
9
 * effected program.
10
 *
11
 * For special cases, see {@link error} (for non-resumable error effects) and {@link dependency}
12
 * (for dependency injection).
13
 * @param name Name of the effect. This identifier is used to match effects, so be careful with name
14
 * collisions.
15
 * @param options Options for the effect. Can be used to mark the effect as unresumable.
16
 * @returns
17
 *
18
 * @example
19
 * ```typescript
20
 * const println = effect("println")<unknown[], void>;
21
 * const raise = effect("raise", { resumable: false })<[message?: string], never>;
22
 * ```
23
 *
24
 * @example
25
 * ```typescript
26
 * // Provide more readable type information
27
 * type Println = Effect<"println", unknown[], void>;
28
 * const println: EffectFactory<Println> = effect("println");
29
 * type Raise = Effect<"raise", [message?: string], never>;
30
 * const raise: EffectFactory<Raise> = effect("raise", { resumable: false });
31
 * ```
32
 *
33
 * @see {@link effected}
34
 */
35
export function effect<Payloads extends unknown[], R, T = never>(): <
36
  Name extends string | symbol,
37
  F extends Effect = never,
38
  Resumable extends boolean = true,
39
>(
40
  name: Name,
41
  options?: {
42
    readonly resumable?: Resumable;
43
    readonly defaultHandler?: [Resumable] extends [false] ?
44
      (
45
        {
46
          effect,
47
          terminate,
48
        }: { effect: Effect<Name, Payloads, never>; terminate: (value: T) => void },
49
        ...payloads: Payloads
50
      ) => void | Generator<F, void, unknown> | Effected<F, void>
51
    : (
52
        {
53
          effect,
54
          resume,
55
          terminate,
56
        }: {
57
          effect: Effect<Name, Payloads, R>;
58
          resume: (value: R) => void;
59
          terminate: (value: T) => void;
60
        },
61
        ...payloads: Payloads
62
      ) => void | Generator<F, void, unknown> | Effected<F, void>;
63
  },
64
) => [Resumable] extends [false] ?
65
  (
66
    ...payloads: Payloads
67
  ) => Effected<Default<Unresumable<Effect<Name, Payloads, never>>, R | T, F>, never>
68
: (...payloads: Payloads) => Effected<Default<Effect<Name, Payloads, R>, T, F>, R>;
69
export function effect<
70
  Name extends string | symbol,
71
  Payloads extends unknown[] = never,
72
  R = never,
73
  T = never,
74
  F extends Effect = never,
75
  Resumable extends boolean = true,
76
>(
77
  name: Name,
78
  options?: {
79
    readonly resumable?: Resumable;
80
    readonly defaultHandler?: [Resumable] extends [false] ?
81
      (
82
        {
83
          effect,
84
          terminate,
85
        }: { effect: Effect<Name, Payloads, never>; terminate: (value: T) => void },
86
        ...payloads: Payloads
87
      ) => void | Generator<F, void, unknown> | Effected<F, void>
88
    : (
89
        {
90
          effect,
91
          resume,
92
          terminate,
93
        }: {
94
          effect: Effect<Name, Payloads, R>;
95
          resume: (value: R) => void;
96
          terminate: (value: T) => void;
97
        },
98
        ...payloads: Payloads
99
      ) => void | Generator<F, void, unknown> | Effected<F, void>;
100
  },
101
): [Resumable] extends [false] ?
102
  [Payloads] extends [never] ?
103
    <Payloads extends unknown[], R extends never = never>(
104
      ...payloads: Payloads
105
    ) => Effected<Unresumable<Effect<Name, Payloads, R>>, R>
106
  : (
107
      ...payloads: Payloads
108
    ) => Effected<Default<Unresumable<Effect<Name, Payloads, never>>, R | T, F>, never>
109
: [Payloads] extends [never] ?
110
  <Payloads extends unknown[], R>(...payloads: Payloads) => Effected<Effect<Name, Payloads, R>, R>
111
: (...payloads: Payloads) => Effected<Default<Effect<Name, Payloads, R>, T, F>, R>;
112
export function effect(...args: unknown[]): any {
3✔
113
  if (args.length === 0) return effect;
903✔
114
  const [name, options = {}] = args as [
876✔
115
    name: string | symbol,
116
    options?: {
117
      resumable?: boolean;
118
      defaultHandler?: (context: any, ...args: unknown[]) => unknown;
119
    },
120
  ];
121
  const result = (...payloads: unknown[]) => {
876✔
122
    const defaultHandler =
1,608✔
123
      options.defaultHandler &&
1,608✔
124
      ((context: any, ...payloads: unknown[]) => options.defaultHandler!(context, ...payloads));
207✔
125
    return effected(() => {
1,608✔
126
      let state = 0;
1,611✔
127
      return {
1,611✔
128
        next: (...args) => {
1,611✔
129
          switch (state) {
2,919✔
130
            case 0:
2,919✔
131
              state++;
1,611✔
132
              return {
1,611✔
133
                done: false,
1,611✔
134
                value: Object.assign(new Effect(name, payloads), {
1,611✔
135
                  ...(options.resumable === false ? { resumable: false } : {}),
1,611✔
136
                  ...(defaultHandler ? { defaultHandler } : {}),
1,611✔
137
                }),
1,611✔
138
              };
1,611✔
139
            case 1:
2,919✔
140
              state++;
1,296✔
141
              return {
1,296✔
142
                done: true,
1,296✔
143
                ...(args.length > 0 ? { value: args[0] } : {}),
1,296✔
144
              } as IteratorReturnResult<unknown>;
1,296✔
145
            default:
2,919✔
146
              return { done: true } as IteratorReturnResult<unknown>;
12✔
147
          }
2,919✔
148
        },
2,919✔
149
      };
1,611✔
150
    });
1,608✔
151
  };
1,608✔
152
  if ((options as any)._overrideFunctionName === false) return result as never;
903✔
153
  return renameFunction(
765✔
154
    result,
765✔
155
    typeof name === "string" ? name : name.toString().slice(7, -1) || "",
903!
156
  ) as never;
903✔
157
}
903✔
158

159
/**
160
 * Create a function that returns an {@link Effected} instance (an effected program) which yields a
161
 * single {@link Effect} instance for typical errors (i.e., non-resumable effect with name prefixed
162
 * with "error:").
163
 *
164
 * It can be seen as an alias of `effect("error:" + name, { resumable: false })`.
165
 *
166
 * You can use {@link Effected#catch} as a shortcut for `terminate("error:" + name, ...)` to catch
167
 * the error effect.
168
 * @param name Name of the error effect. This identifier is used to match effects, so be careful
169
 * with name collisions.
170
 * @returns
171
 *
172
 * @example
173
 * ```typescript
174
 * const authError = error("auth");
175
 * const notFoundError = error("notFound");
176
 * ```
177
 *
178
 * @example
179
 * ```typescript
180
 * // Provide more readable type information
181
 * type AuthError = Effect.Error<"auth">;
182
 * const authError: EffectFactory<AuthError> = error("auth");
183
 * ```
184
 *
185
 * @see {@link effect}
186
 */
187
export function error<Name extends string>(
3✔
188
  name: Name,
66✔
189
): (
190
  message?: string,
191
) => Effected<Unresumable<Effect<`error:${Name}`, [message?: string], never>>, never> {
66✔
192
  return renameFunction(
66✔
193
    effect(`error:${name}`, { resumable: false, _overrideFunctionName: false } as {
66✔
194
      resumable: false;
195
    }),
66✔
196
    `throw${capitalize(name)}Error`,
66✔
197
  );
66✔
198
}
66✔
199

200
type ErrorName<E extends Effect> =
201
  E extends Unresumable<Effect<`error:${infer Name}`, any, never>> ? Name : never;
202

203
/**
204
 * Create a function that returns an {@link Effected} instance (an effected program) which yields a
205
 * single {@link Effect} instance for dependency injection.
206
 *
207
 * It can be seen as an alias of `effect("dependency:" + name)`.
208
 *
209
 * You can use {@link Effected#provide} and its variants as a shortcut for
210
 * `resume("dependency:" + name, ...)` to provide the value for the dependency.
211
 * @param name Name of the dependency. This identifier is used to match effects, so be careful
212
 * with name collisions.
213
 * @returns
214
 *
215
 * @example
216
 * ```typescript
217
 * const askConfig = dependency("config")<Config | null>;
218
 * const askDatabase = dependency("database")<Database>;
219
 * ```
220
 *
221
 * @example
222
 * ```typescript
223
 * // Provide more readable type information
224
 * type ConfigDependency = Effect.Dependency<"config", Config | null>;
225
 * const askConfig: EffectFactory<ConfigDependency> = dependency("config");
226
 * ```
227
 *
228
 * @see {@link effect}
229
 */
230
export function dependency<T>(): <Name extends string, F extends Effect = never>(
231
  name: Name,
232
  defaultFactory?: () => T | Generator<F, T, unknown> | Effected<F, T>,
233
) => () => Effected<Default<Effect<`dependency:${Name}`, [], T>, F>, T>;
234
export function dependency<Name extends string, D = never>(
235
  name: Name,
236
  defaultFactory?: () => D,
237
): [D] extends [never] ? <R>() => Effected<Effect<`dependency:${Name}`, [], R>, R>
238
: (
239
  D extends Generator<Effect, infer R, unknown> ? R
240
  : D extends Effected<Effect, infer R> ? R
241
  : D
242
) extends infer R ?
243
  () => Effected<
244
    Default<
245
      Effect<`dependency:${Name}`, [], R>,
246
      D extends Generator<infer E extends Effect, unknown, unknown> ? E
247
      : D extends Effected<infer E, unknown> ? E
248
      : never
249
    >,
250
    R
251
  >
252
: never;
253
export function dependency(...args: unknown[]): any {
3✔
254
  if (args.length === 0) return dependency;
51✔
255
  const [name, defaultFactory] = args as [name: string, defaultFactory?: () => unknown];
45✔
256
  const defaultHandler =
45✔
257
    defaultFactory &&
45✔
258
    (({ resume }: any) => {
9✔
259
      resume(defaultFactory());
30✔
260
    });
30✔
261
  return renameFunction(
51✔
262
    effect(`dependency:${name}`, {
51✔
263
      _overrideFunctionName: false,
51✔
264
      ...(typeof defaultFactory === "function" ? { defaultHandler } : {}),
51✔
265
    } as {}),
51✔
266
    `ask${capitalize(name)}`,
51✔
267
  );
51✔
268
}
51✔
269

270
type DependencyName<E extends Effect> =
271
  E extends Effect<`dependency:${infer Name}`, []> ? Name : never;
272

273
/**
274
 * Define a handler that transforms an effected program into another one.
275
 *
276
 * It is just a simple wrapper to make TypeScript infer the types correctly, and simply returns the
277
 * function you pass to it.
278
 * @returns
279
 *
280
 * @example
281
 * ```typescript
282
 * type Raise = Unresumable<Effect<"raise", [error: unknown], never>>;
283
 * const raise: EffectFactory<Raise> = effect("raise", { resumable: false });
284
 *
285
 * const safeDivide = (a: number, b: number): Effected<Raise, number> =>
286
 *   effected(function* () {
287
 *     if (b === 0) return yield* raise("Division by zero");
288
 *     return a / b;
289
 *   });
290
 *
291
 * type Option<T> = { kind: "some"; value: T } | { kind: "none" };
292
 * const some = <T>(value: T): Option<T> => ({ kind: "some", value });
293
 * const none: Option<never> = { kind: "none" };
294
 *
295
 * const raiseOption = defineHandlerFor<Raise>().with((self) =>
296
 *   self.andThen((value) => some(value)).terminate("raise", () => none),
297
 * );
298
 *
299
 * const safeDivide2 = (a: number, b: number) => safeDivide(a, b).with(raiseOption);
300
 * //    ^?: (a: number, b: number) => Effected<never, Option<number>>
301
 * ```
302
 */
303
export function defineHandlerFor<E extends Effect, R>(): {
304
  with: <S extends EffectedDraft<E>, H extends (self: EffectedDraft<E, E, R>) => S>(
305
    handler: H,
306
  ) => H;
307
};
308
export function defineHandlerFor<E extends Effect>(): {
309
  with: <S extends EffectedDraft<E>, H extends <R>(self: EffectedDraft<E, E, R>) => S>(
310
    handler: H,
311
  ) => H;
312
};
313
export function defineHandlerFor() {
3✔
314
  return {
63✔
315
    with: (handler: any) => handler,
63✔
316
  };
63✔
317
}
63✔
318

319
type ExtractUnhandled<E extends Effect> =
320
  E extends (
321
    {
322
      defaultHandler: (
323
        context: any,
324
      ) => void | Generator<infer F, void, unknown> | Effected<infer F, void>;
325
    }
326
  ) ?
327
    ExtractUnhandled<F>
328
  : E;
329
type ExtractEffect<E extends Effect, Acc = never> =
330
  E extends (
331
    {
332
      defaultHandler: (
333
        context: any,
334
      ) => void | Generator<infer F, void, unknown> | Effected<infer F, void>;
335
    }
336
  ) ?
337
    [F] extends [never] ?
338
      Acc | E
339
    : ExtractEffect<F, Acc | E>
340
  : Acc | E;
341
type ExcludeEffect<E extends Effect, F extends Effect> =
342
  E extends F ? never
343
  : E extends Default<infer G, infer T, infer H> ?
344
    ExtractEffect<H>["name"] extends ExtractEffect<ExcludeEffect<H, F>>["name"] ?
345
      // Preserve effect type if no modification is needed to make type information more readable
346
      E
347
    : Default<G, T, ExcludeEffect<H, F>>
348
  : E;
349
type ExtractDefaultTerminateType<E extends Effect> =
350
  E extends (
351
    {
352
      defaultHandler: (context: { terminate: (value: infer T) => void }) => any;
353
    }
354
  ) ?
355
    T
356
  : never;
357

358
/**
359
 * An effected program.
360
 */
361
export class Effected<out E extends Effect, out R> implements Iterable<E, R, unknown> {
3✔
362
  declare public readonly [Symbol.iterator]: () => Iterator<E, R, unknown>;
363

364
  declare public readonly runSync: [ExtractUnhandled<E>] extends [never] ?
365
    () => ExtractDefaultTerminateType<E> | R
366
  : UnhandledEffect<ExtractUnhandled<E>>;
367
  declare public readonly runAsync: [ExtractUnhandled<E>] extends [never] ?
368
    () => Promise<ExtractDefaultTerminateType<E> | R>
369
  : UnhandledEffect<ExtractUnhandled<E>>;
370
  declare public readonly runSyncUnsafe: () => ExtractDefaultTerminateType<E> | R;
371
  declare public readonly runAsyncUnsafe: () => Promise<ExtractDefaultTerminateType<E> | R>;
372

373
  private constructor(fn: () => Iterator<E, R, unknown>, magicWords?: string) {
3✔
374
    if (magicWords !== "Yes, I’m sure I want to call the constructor of Effected directly.")
6,738✔
375
      logger.warn(
6,738✔
376
        "You should not call the constructor of `Effected` directly. Use `effected` instead.",
3✔
377
      );
3✔
378

379
    this[Symbol.iterator] = fn;
6,738✔
380

381
    this.runSync = (() => runSync(this as never)) as never;
6,738✔
382
    this.runAsync = (() => runAsync(this as never)) as never;
6,738✔
383
    this.runSyncUnsafe = () => runSync(this as never);
6,738✔
384
    this.runAsyncUnsafe = () => runAsync(this as never);
6,738✔
385
  }
6,738✔
386

387
  /**
388
   * Create an {@link Effected} instance that just returns the value.
389
   * @param value The value to return.
390
   * @returns
391
   *
392
   * @since 0.1.2
393
   */
394
  static of<R>(value: R): Effected<never, R> {
3✔
395
    return effected(() => ({ next: () => ({ done: true, value }) })) as Effected<never, R>;
549✔
396
  }
549✔
397

398
  /**
399
   * Create an {@link Effected} instance that just returns the value from a getter.
400
   * @param getter The getter to get the value.
401
   * @returns
402
   */
403
  static from<R>(getter: () => R): Effected<never, R> {
3✔
404
    return effected(() => ({ next: () => ({ done: true, value: getter() }) })) as Effected<
279✔
405
      never,
406
      R
407
    >;
408
  }
279✔
409

410
  /**
411
   * Combine multiple effected programs into one, running them in parallel and produces a tuple or
412
   * object with the results.
413
   * @param effects An iterable of effected programs or an object with effected programs as values.
414
   * @returns
415
   *
416
   * @see {@linkcode Effected.allSeq} for the sequential version.
417
   *
418
   * @since 0.3.2
419
   */
420
  static all<const ES extends Iterable<Effected<Effect, unknown>>>(
421
    effects: ES,
422
  ): Effected<
423
    ES extends Iterable<infer E> ?
424
      [E] extends [never] ? never
425
      : [E] extends [Effected<infer E, unknown>] ? E
426
      : never
427
    : never,
428
    ES extends readonly unknown[] ?
429
      { -readonly [K in keyof ES]: ES[K] extends Effected<Effect, infer R> ? R : never }
430
    : ES extends Iterable<infer E> ?
431
      [E] extends [Effected<Effect, infer R>] ?
432
        R[]
433
      : never
434
    : never
435
  >;
436
  static all<const O extends Record<string, Effected<Effect, unknown>>>(
437
    effects: O,
438
  ): Effected<
439
    O[keyof O] extends infer E ?
440
      [E] extends [never] ? never
441
      : [E] extends [Effected<infer E, unknown>] ? E
442
      : never
443
    : never,
444
    { -readonly [K in keyof O]: O[K] extends Effected<Effect, infer R> ? R : never }
445
  >;
446
  static all(
3✔
447
    effects: Iterable<Effected<Effect, unknown>> | Record<string, Effected<Effect, unknown>>,
51✔
448
  ): Effected<Effect, unknown> {
51✔
449
    return effected(() => {
51✔
450
      const isIterable = Symbol.iterator in effects;
57✔
451
      const keys: (string | number)[] = [];
57✔
452
      const iterators: Iterator<Effect, unknown, unknown>[] = [];
57✔
453
      if (isIterable) {
57✔
454
        for (const e of effects) iterators.push(e[Symbol.iterator]());
48✔
455
        Array.prototype.push.apply(
48✔
456
          keys,
48✔
457
          Array.from({ length: iterators.length }, (_, i) => i),
48✔
458
        );
48✔
459
      } else {
57✔
460
        for (const key in effects) {
9✔
461
          if (!Object.prototype.hasOwnProperty.call(effects, key)) continue;
18!
462
          keys.push(key);
18✔
463
          iterators.push(effects[key]![Symbol.iterator]());
18✔
464
        }
18✔
465
      }
9✔
466

467
      if (keys.length === 0) return { next: () => ({ done: true, value: isIterable ? [] : {} }) };
57✔
468

469
      const label = Symbol();
51✔
470

471
      const results: any = isIterable ? new Array(keys.length) : {};
57✔
472
      const states = Array.from(
57✔
473
        { length: keys.length },
57✔
474
        () => "idle" as "idle" | "pending" | "done",
57✔
475
      );
57✔
476
      let recover: ((payload: { _effectRecover: symbol; index: number }) => void) | null = null;
57✔
477

478
      let index = 0;
57✔
479
      const nextIdleIndex = () => {
57✔
480
        let i = index;
159✔
481
        do i = (i + 1) % keys.length;
159✔
482
        while (states[i] !== "idle" && i !== index);
159✔
483
        return i === index ? null : i;
159✔
484
      };
159✔
485

486
      return {
57✔
487
        next: (...args: [] | [unknown]) => {
57✔
488
          if (states.every((s) => s === "done")) return { done: true, value: results };
291!
489

490
          if (args[0] != null && (args[0] as any)._effectInterrupt === label) {
291✔
491
            const currIndex = index;
75✔
492
            states[currIndex] = "pending";
75✔
493
            void ((args[0] as any).with as Promise<unknown>).then((value) => {
75✔
494
              results[keys[currIndex]!] = value;
75✔
495
              states[currIndex] = "idle";
75✔
496
              recover!({ _effectRecover: label, index: currIndex });
75✔
497
            });
75✔
498
            const nextIndex = nextIdleIndex();
75✔
499

500
            if (!nextIndex)
75✔
501
              return {
75✔
502
                done: false,
30✔
503
                value: {
30✔
504
                  _effectAsync: true,
30✔
505
                  onComplete: (callback: NonNullable<typeof recover>) => {
30✔
506
                    recover = callback;
30✔
507
                  },
30✔
508
                } as never,
30✔
509
              };
30✔
510

511
            index = nextIndex;
45✔
512
            args = [results[keys[index]!]];
45✔
513
          }
45✔
514

515
          if (args[0] != null && (args[0] as any)._effectRecover === label) {
291✔
516
            index = (args[0] as any).index;
75✔
517
            args = [results[keys[index]!]];
75✔
518
          }
75✔
519

520
          let iterator = iterators[index]!;
261✔
521
          let result = iterator.next(...args);
261✔
522

523
          while (result.done) {
291✔
524
            states[index] = "done";
120✔
525
            results[keys[index]!] = result.value;
120✔
526
            if (states.every((s) => s === "done")) {
120✔
527
              return { done: true, value: results };
36✔
528
            } else {
120✔
529
              const nextIndex = nextIdleIndex();
84✔
530
              if (!nextIndex)
84✔
531
                return {
84✔
532
                  done: false,
45✔
533
                  value: {
45✔
534
                    _effectAsync: true,
45✔
535
                    onComplete: (callback: NonNullable<typeof recover>) => {
45✔
536
                      recover = callback;
45✔
537
                    },
45✔
538
                  } as never,
45✔
539
                };
45✔
540
              index = nextIndex;
39✔
541
              args = [results[keys[index]!]];
39✔
542
              iterator = iterators[index]!;
39✔
543
              result = iterator.next(...args);
39✔
544
            }
39✔
545
          }
120✔
546

547
          if (
180✔
548
            (result.value instanceof Effect || (result.value as any)._effectAsync) &&
291✔
549
            !("interruptable" in (result.value as any))
180✔
550
          )
551
            (result.value as any).interruptable = label;
291✔
552

553
          return result;
180✔
554
        },
291✔
555
      };
57✔
556
    });
51✔
557
  }
51✔
558

559
  /**
560
   * Combine multiple effected programs into one, running them sequentially and produces a tuple or
561
   * object with the results.
562
   * @param effects An iterable of effected programs or an object with effected programs as values.
563
   * @returns
564
   *
565
   * @see {@linkcode Effected.all} for the parallel version.
566
   *
567
   * @since 0.3.2
568
   */
569
  static allSeq<const ES extends Iterable<Effected<Effect, unknown>>>(
570
    effects: ES,
571
  ): Effected<
572
    ES extends Iterable<infer E> ?
573
      [E] extends [never] ? never
574
      : [E] extends [Effected<infer E, unknown>] ? E
575
      : never
576
    : never,
577
    ES extends readonly unknown[] ?
578
      { -readonly [K in keyof ES]: ES[K] extends Effected<Effect, infer R> ? R : never }
579
    : ES extends Iterable<infer E> ?
580
      [E] extends [Effected<Effect, infer R>] ?
581
        R[]
582
      : never
583
    : never
584
  >;
585
  static allSeq<const O extends Record<string, Effected<Effect, unknown>>>(
586
    effects: O,
587
  ): Effected<
588
    O[keyof O] extends infer E ?
589
      [E] extends [never] ? never
590
      : E extends Effected<infer E, unknown> ? E
591
      : never
592
    : never,
593
    { -readonly [K in keyof O]: O[K] extends Effected<Effect, infer R> ? R : never }
594
  >;
595
  static allSeq(
3✔
596
    effects: Iterable<Effected<Effect, unknown>> | Record<string, Effected<Effect, unknown>>,
60✔
597
  ): Effected<Effect, unknown> {
60✔
598
    return effected(() => {
60✔
599
      const isIterable = Symbol.iterator in effects;
60✔
600
      const keys: (string | number)[] = [];
60✔
601
      const iterators: Iterator<Effect, unknown, unknown>[] = [];
60✔
602
      if (isIterable) {
60✔
603
        for (const e of effects) iterators.push(e[Symbol.iterator]());
42✔
604
        Array.prototype.push.apply(
42✔
605
          keys,
42✔
606
          Array.from({ length: iterators.length }, (_, i) => i),
42✔
607
        );
42✔
608
      } else {
60✔
609
        for (const key in effects) {
18✔
610
          if (!Object.prototype.hasOwnProperty.call(effects, key)) continue;
45!
611
          keys.push(key);
45✔
612
          iterators.push(effects[key]![Symbol.iterator]());
45✔
613
        }
45✔
614
      }
18✔
615
      const results: any = isIterable ? new Array(keys.length) : {};
60✔
616
      let index = 0;
60✔
617

618
      return {
60✔
619
        next: (...args: [] | [unknown]) => {
60✔
620
          while (index < keys.length) {
177✔
621
            const key = keys[index]!;
270✔
622
            const iterator = iterators[index]!;
270✔
623
            const result = iterator.next(...args);
270✔
624
            if (!result.done) return result;
270✔
625
            results[key] = result.value;
147✔
626
            index++;
147✔
627
          }
147✔
628
          return { done: true, value: results };
54✔
629
        },
177✔
630
      };
60✔
631
    });
60✔
632
  }
60✔
633

634
  /**
635
   * Handle an effect with a handler.
636
   *
637
   * For more common use cases, see {@link resume} and {@link terminate}, which provide a more
638
   * concise syntax.
639
   * @param effect The effect name or a function to match the effect name.
640
   * @param handler The handler for the effect. The first argument is an object containing the
641
   * encountered effect instance, a `resume` function to resume the effect, and a `terminate`
642
   * function to terminate the effect. The rest of the arguments are the payloads of the effect.
643
   *
644
   * `resume` or `terminate` should be called exactly once in the handler. If you call them more
645
   * than once, a warning will be logged to the console. If neither of them is called, the effected
646
   * program will hang indefinitely.
647
   *
648
   * Calling `resume` or `terminate` in an asynchronous context is also supported. It is _not_
649
   * required to call them synchronously.
650
   * @returns
651
   */
652
  handle<Name extends ExtractEffect<E>["name"], T = R, F extends Effect = never>(
653
    effect: Name,
654
    handler: ExtractEffect<E> extends infer E ?
655
      Extract<E, Effect<Name>> extends Unresumable<Effect> ?
656
        (
657
          {
658
            effect,
659
            terminate,
660
          }: { effect: Extract<E, Effect<Name>>; terminate: (value: T) => void },
661
          ...payloads: Extract<E, Effect<Name>>["payloads"]
662
        ) => void | Generator<F, void, unknown> | Effected<F, void>
663
      : (
664
          {
665
            effect,
666
            resume,
667
            terminate,
668
          }: {
669
            effect: Extract<E, Effect<Name>>;
670
            resume: (value: Extract<E, Effect<Name>>["__returnType"]) => void;
671
            terminate: (value: T) => void;
672
          },
673
          ...payloads: Extract<E, Effect<Name>>["payloads"]
674
        ) => void | Generator<F, void, unknown> | Effected<F, void>
675
    : never,
676
  ): Effected<ExcludeEffect<E, Effect<Name>> | F, R | T>;
677
  handle<Name extends string | symbol, T = R, F extends Effect = never>(
678
    effect: (name: ExtractEffect<E>["name"]) => name is Name,
679
    handler: ExtractEffect<E> extends infer E ?
680
      Extract<E, Effect<Name>> extends Unresumable<Effect> ?
681
        (
682
          {
683
            effect,
684
            terminate,
685
          }: { effect: Extract<E, Effect<Name>>; terminate: (value: T) => void },
686
          ...payloads: Extract<E, Effect<Name>>["payloads"]
687
        ) => void | Generator<F, void, unknown> | Effected<F, void>
688
      : (
689
          {
690
            effect,
691
            resume,
692
            terminate,
693
          }: {
694
            effect: Extract<E, Effect<Name>>;
695
            resume: (value: Extract<E, Effect<Name>>["__returnType"]) => void;
696
            terminate: (value: T) => void;
697
          },
698
          ...payloads: Extract<E, Effect<Name>>["payloads"]
699
        ) => void | Generator<F, void, unknown> | Effected<F, void>
700
    : never,
701
  ): Effected<ExcludeEffect<E, Effect<Name>> | F, R | T>;
702
  handle(
3✔
703
    name: string | symbol | ((name: string | symbol) => boolean),
942✔
704
    handler: (...args: any[]) => unknown,
942✔
705
  ): Effected<any, unknown> {
942✔
706
    const matchEffect = (value: unknown) =>
942✔
707
      value instanceof Effect &&
3,054✔
708
      (typeof name === "function" ? name(value.name) : value.name === name);
2,019✔
709

710
    return effected(() => {
942✔
711
      const iterator = this[Symbol.iterator]();
1,053✔
712
      const context = {
1,053✔
713
        interceptIterator: null as typeof iterator | null,
1,053✔
714

715
        terminated: false as false | "with-value" | "without-value",
1,053✔
716
        terminatedValue: undefined as unknown,
1,053✔
717
      };
1,053✔
718

719
      return {
1,053✔
720
        next: (...args: [] | [unknown]) => {
1,053✔
721
          if (context.terminated)
3,969✔
722
            return {
3,969✔
723
              done: true,
111✔
724
              ...(context.terminated === "with-value" ? { value: context.terminatedValue } : {}),
111✔
725
            } as IteratorReturnResult<unknown>;
111✔
726

727
          const result = (context.interceptIterator || iterator).next(...args);
3,969✔
728

729
          const { done, value } = result;
3,969✔
730
          if (done) return result;
3,969✔
731

732
          if (matchEffect(value)) return handleEffect(context, name, value, handler as never);
3,969✔
733

734
          if (value instanceof Effect && typeof (value as any).defaultHandler === "function") {
3,969✔
735
            const originalDefaultHandler = (value as any).defaultHandler;
102✔
736
            (value as any).defaultHandler = (context: any, ...payloads: unknown[]) => {
102✔
737
              const result = originalDefaultHandler(context, ...payloads);
90✔
738
              if (result instanceof Effected) return result.handle(name as never, handler as never);
90✔
739
              if (isGenerator(result)) {
87✔
740
                return effected(() => result as Generator<Effect, unknown, unknown>).handle(
30✔
741
                  name as never,
30✔
742
                  handler as never,
30✔
743
                );
30✔
744
              }
30✔
745
              return result;
45✔
746
            };
90✔
747
          }
102✔
748

749
          return result;
1,695✔
750
        },
3,969✔
751
      };
1,053✔
752
    });
942✔
753
  }
942✔
754

755
  /**
756
   * Resume an effect with the return value of the handler.
757
   *
758
   * It is a shortcut for
759
   * `handle(effect, ({ resume }, ...payloads) => resume(handler(...payloads)))`.
760
   * @param effect The effect name or a function to match the effect name.
761
   * @param handler The handler for the effect. The arguments are the payloads of the effect.
762
   * @returns
763
   *
764
   * @see {@link handle}
765
   */
766
  resume<
767
    Name extends Exclude<ExtractEffect<E>, Unresumable<Effect>>["name"],
768
    F extends Effect = never,
769
  >(
770
    effect: Name,
771
    handler: ExtractEffect<E> extends infer E ?
772
      E extends Effect<Name, infer Payloads, infer R> ?
773
        (...payloads: Payloads) => R | Generator<F, R, unknown> | Effected<F, R>
774
      : never
775
    : never,
776
  ): Effected<ExcludeEffect<E, Effect<Name>> | F, R>;
777
  resume<Name extends string | symbol, F extends Effect = never>(
778
    effect: (name: Exclude<ExtractEffect<E>, Unresumable<Effect>>["name"]) => name is Name,
779
    handler: ExtractEffect<E> extends infer E ?
780
      E extends Effect<Name, infer Payloads, infer R> ?
781
        (...payloads: Payloads) => R | Generator<F, R, unknown> | Effected<F, R>
782
      : never
783
    : never,
784
  ): Effected<ExcludeEffect<E, Effect<Name>> | F, R>;
785
  resume(effect: any, handler: (...payloads: unknown[]) => unknown) {
3✔
786
    return this.handle(effect, (({ resume }: any, ...payloads: unknown[]) => {
537✔
787
      const it = handler(...payloads);
966✔
788
      if (!(it instanceof Effected) && !isGenerator(it)) return resume(it);
966✔
789
      const iterator = it[Symbol.iterator]();
45✔
790
      return {
45✔
791
        _effectedIterator: true,
45✔
792
        next: (...args: [] | [unknown]) => {
45✔
793
          const result = iterator.next(...args);
81✔
794
          if (result.done) return { done: true, value: resume(result.value) };
81✔
795
          return result;
45✔
796
        },
81✔
797
      };
45✔
798
    }) as never);
537✔
799
  }
537✔
800

801
  /**
802
   * Terminate an effect with the return value of the handler.
803
   *
804
   * It is a shortcut for
805
   * `handle(effect, ({ terminate }, ...payloads) => terminate(handler(...payloads)))`.
806
   * @param effect The effect name or a function to match the effect name.
807
   * @param handler The handler for the effect. The arguments are the payloads of the effect.
808
   * @returns
809
   *
810
   * @see {@link handle}
811
   */
812
  terminate<Name extends ExtractEffect<E>["name"], T, F extends Effect = never>(
813
    effect: Name,
814
    handler: ExtractEffect<E> extends infer E ?
815
      E extends Effect<Name, infer Payloads> ?
816
        (...payloads: Payloads) => Generator<F, T, unknown> | Effected<F, T>
817
      : never
818
    : never,
819
  ): Effected<ExcludeEffect<E, Effect<Name>> | F, R | T>;
820
  terminate<Name extends string | symbol, T, F extends Effect = never>(
821
    effect: (name: ExtractEffect<E>["name"]) => name is Name,
822
    handler: ExtractEffect<E> extends infer E ?
823
      E extends Effect<Name, infer Payloads> ?
824
        (...payloads: Payloads) => Generator<F, T, unknown> | Effected<F, T>
825
      : never
826
    : never,
827
  ): Effected<ExcludeEffect<E, Effect<Name>> | F, R | T>;
828
  terminate<Name extends ExtractEffect<E>["name"], T>(
829
    effect: Name,
830
    handler: ExtractEffect<E> extends infer E ?
831
      E extends Effect<Name, infer Payloads> ?
832
        (...payloads: Payloads) => T
833
      : never
834
    : never,
835
  ): Effected<ExcludeEffect<E, Effect<Name>>, R | T>;
836
  terminate<Name extends string | symbol, T>(
837
    effect: (name: ExtractEffect<E>["name"]) => name is Name,
838
    handler: ExtractEffect<E> extends infer E ?
839
      E extends Effect<Name, infer Payloads> ?
840
        (...payloads: Payloads) => T
841
      : never
842
    : never,
843
  ): Effected<ExcludeEffect<E, Effect<Name>>, R | T>;
844
  terminate(effect: any, handler: (...payloads: unknown[]) => unknown) {
3✔
845
    return this.handle(effect, (({ terminate }: any, ...payloads: unknown[]) => {
168✔
846
      const it = handler(...payloads);
84✔
847
      if (!(it instanceof Effected) && !isGenerator(it)) return terminate(it);
84✔
848
      const iterator = it[Symbol.iterator]();
3✔
849
      return {
3✔
850
        _effectedIterator: true,
3✔
851
        next: (...args: [] | [unknown]) => {
3✔
852
          const result = iterator.next(...args);
6✔
853
          if (result.done) return { done: true, value: terminate(result.value) };
6✔
854
          return result;
3✔
855
        },
6✔
856
      };
3✔
857
    }) as never);
168✔
858
  }
168✔
859

860
  /**
861
   * Overwrite the return value of the effected program with a new value.
862
   * @param value The new value to return.
863
   * @returns
864
   *
865
   * @since 0.3.2
866
   */
867
  as<S>(value: S): Effected<E, S> {
3✔
868
    return this.map(() => value);
48✔
869
  }
48✔
870
  /**
871
   * Overwrite the return value of the effected program with `void`.
872
   * @returns
873
   *
874
   * @since 0.3.2
875
   */
876
  asVoid(): Effected<E, void> {
3✔
877
    return this.as(undefined);
24✔
878
  }
24✔
879

880
  /**
881
   * Maps the return value using a pure function without handling effects.
882
   * Optimized for the simple value transformation case.
883
   * @param mapper The function to transform the result value.
884
   * @returns
885
   *
886
   * @since 0.3.2
887
   */
888
  map<S>(mapper: (value: R) => S): Effected<E, S> {
3✔
889
    return effected(() => {
369✔
890
      const iterator = this[Symbol.iterator]();
387✔
891
      return {
387✔
892
        next: (...args: [] | [unknown]) => {
387✔
893
          const result = iterator.next(...args);
447✔
894
          if (!result.done) return result;
447✔
895
          return { done: true, value: mapper(result.value) };
387✔
896
        },
447✔
897
      };
387✔
898
    });
369✔
899
  }
369✔
900

901
  /**
902
   * Chains an effected program after the current one, where the chained effected program will
903
   * receive the return value of the current one.
904
   * @param mapper A function that returns an effected program or generator.
905
   * @returns
906
   *
907
   * @since 0.3.2
908
   */
909
  flatMap<S, F extends Effect = never>(
3✔
910
    mapper: (value: R) => Generator<F, S, unknown> | Effected<F, S>,
24✔
911
  ): Effected<E | F, S> {
24✔
912
    return effected(() => {
24✔
913
      const iterator = this[Symbol.iterator]();
33✔
914
      let originalDone = false;
33✔
915
      let appendedIterator: Iterator<Effect, unknown, unknown>;
33✔
916
      return {
33✔
917
        next: (...args: [] | [R]) => {
33✔
918
          if (originalDone) return appendedIterator.next(...args);
84✔
919
          const result = iterator.next(...args);
48✔
920
          if (!result.done) return result;
84✔
921
          originalDone = true;
33✔
922
          const it = mapper(result.value);
33✔
923
          appendedIterator = it[Symbol.iterator]();
33✔
924
          return appendedIterator.next();
33✔
925
        },
84✔
926
      };
33✔
927
    }) as never;
24✔
928
  }
24✔
929

930
  /**
931
   * Chains another function or effected program after the current one, where the chained function
932
   * or effected program will receive the return value of the current one.
933
   * @param handler The function or effected program to chain after the current one.
934
   * @returns
935
   *
936
   * @since 0.3.0
937
   */
938
  andThen<S, F extends Effect = never>(
939
    handler: (value: R) => Generator<F, S, unknown> | Effected<F, S> | S,
940
  ): Effected<E | F, S>;
941
  andThen(handler: (value: R) => unknown): Effected<Effect, unknown> {
3✔
942
    return effected(() => {
1,290✔
943
      const iterator = this[Symbol.iterator]();
1,317✔
944
      let originalIteratorDone = false;
1,317✔
945
      let appendedIterator: Iterator<Effect, unknown, unknown>;
1,317✔
946
      return {
1,317✔
947
        next: (...args: [] | [R]) => {
1,317✔
948
          if (originalIteratorDone) return appendedIterator.next(...args);
1,641✔
949
          const result = iterator.next(...args);
1,557✔
950
          if (!result.done) return result;
1,641✔
951
          originalIteratorDone = true;
1,263✔
952
          const it = handler(result.value);
1,263✔
953
          if (!(it instanceof Effected) && !isGenerator(it) && !isEffectedIterator(it))
1,641✔
954
            return { done: true, value: it };
1,641✔
955
          appendedIterator = Symbol.iterator in it ? it[Symbol.iterator]() : it;
1,641✔
956
          return appendedIterator.next();
1,641✔
957
        },
1,641✔
958
      };
1,317✔
959
    });
1,290✔
960
  }
1,290✔
961

962
  /**
963
   * Tap the return value of the effected program.
964
   * @param handler The function to tap the return value.
965
   * @returns
966
   *
967
   * @since 0.2.1
968
   */
969
  tap<F extends Effect = never>(
3✔
970
    handler: (value: R) => void | Generator<F, void, unknown> | Effected<F, void>,
57✔
971
  ): Effected<E | F, R> {
57✔
972
    return this.andThen((value) => {
57✔
973
      const it = handler(value);
69✔
974
      if (!(it instanceof Effected) && !isGenerator(it)) return value;
69✔
975
      const iterator = it[Symbol.iterator]();
33✔
976
      return {
33✔
977
        _effectedIterator: true,
33✔
978
        next: (...args: [] | [unknown]) => {
33✔
979
          const result = iterator.next(...args);
66✔
980
          if (result.done) return { done: true, value };
66✔
981
          return result;
33✔
982
        },
66✔
983
      };
33✔
984
    }) as never;
57✔
985
  }
57✔
986

987
  /**
988
   * Combines the return value of the current effected program with another effected program.
989
   *
990
   * Note: This method runs the two effected programs sequentially. To run them in parallel, use
991
   * {@link Effected.all}.
992
   * @param that The other effected program to combine with.
993
   * @param mapper A optional function that takes the return value of the current program and the
994
   * other program and returns a new value.
995
   * @returns
996
   */
997
  zip<S, F extends Effect>(that: Effected<F, S>): Effected<E | F, [R, S]>;
998
  zip<S, F extends Effect, T, G extends Effect = never>(
999
    that: Effected<F, S>,
1000
    mapper: (a: R, b: S) => T | Generator<G, T, unknown> | Effected<G, T>,
1001
  ): Effected<E | F | G, T>;
1002
  zip(that: Effected<Effect, unknown>, mapper?: any): Effected<Effect, unknown> {
3✔
1003
    return effected(() => {
60✔
1004
      const iterator = this[Symbol.iterator]();
66✔
1005
      const thatIterator = that[Symbol.iterator]();
66✔
1006
      let selfDone = false;
66✔
1007
      let selfDoneValue: unknown;
66✔
1008
      let thatDone = false;
66✔
1009
      let appendedIterator: Iterator<Effect, unknown, unknown>;
66✔
1010
      return {
66✔
1011
        next: (...args: [] | [unknown]) => {
66✔
1012
          if (selfDone && thatDone) return appendedIterator.next(...args);
96✔
1013
          if (!selfDone) {
96✔
1014
            const result = iterator.next(...args);
78✔
1015
            if (!result.done) return result;
78✔
1016
            selfDone = true;
63✔
1017
            selfDoneValue = result.value;
63✔
1018
          }
63✔
1019
          const thatResult = thatIterator.next(...args);
75✔
1020
          if (!thatResult.done) return thatResult;
96✔
1021
          thatDone = true;
60✔
1022
          if (mapper) {
96✔
1023
            const it = mapper(selfDoneValue, thatResult.value);
27✔
1024
            if (!(it instanceof Effected) && !isGenerator(it)) return { done: true, value: it };
27✔
1025
            appendedIterator = it[Symbol.iterator]();
9✔
1026
            return appendedIterator.next();
9✔
1027
          }
9✔
1028
          return { done: true, value: [selfDoneValue, thatResult.value] };
33✔
1029
        },
96✔
1030
      };
66✔
1031
    }) as never;
60✔
1032
  }
60✔
1033

1034
  /**
1035
   * Catch an error effect with a handler.
1036
   *
1037
   * It is a shortcut for `terminate("error:" + name, handler)`.
1038
   * @param name The name of the error effect.
1039
   * @param handler The handler for the error effect. The argument is the message of the error.
1040
   * @returns
1041
   *
1042
   * @see {@link terminate}
1043
   */
1044
  catch<Name extends ErrorName<ExtractEffect<E>>, T, F extends Effect = never>(
1045
    effect: Name,
1046
    handler: (message?: string) => Generator<F, T, unknown> | Effected<F, T>,
1047
  ): Effected<ExcludeEffect<E, Effect.Error<Name>> | F, R | T>;
1048
  catch<Name extends ErrorName<ExtractEffect<E>>, T>(
1049
    effect: Name,
1050
    handler: (message?: string) => T,
1051
  ): Effected<ExcludeEffect<E, Effect.Error<Name>>, R | T>;
1052
  catch(name: string, handler: (message?: string) => unknown): Effected<Effect, unknown> {
3✔
1053
    return this.terminate(`error:${name}` as never, handler as never);
99✔
1054
  }
99✔
1055

1056
  /**
1057
   * Catch all error effects with a handler.
1058
   * @param handler The handler for the error effect. The first argument is the name of the error
1059
   * effect (without the `"error:"` prefix), and the second argument is the message of the error.
1060
   */
1061
  catchAll<T, F extends Effect = never>(
1062
    handler: (
1063
      error: ErrorName<ExtractEffect<E>>,
1064
      message?: string,
1065
    ) => Generator<F, T, unknown> | Effected<F, T>,
1066
  ): Effected<ExcludeEffect<E, Effect.Error> | F, R | T>;
1067
  catchAll<T>(
1068
    handler: (error: ErrorName<ExtractEffect<E>>, message?: string) => T,
1069
  ): Effected<ExcludeEffect<E, Effect.Error>, R | T>;
1070
  catchAll(
3✔
1071
    handler: (error: ErrorName<ExtractEffect<E>>, message?: string) => unknown,
45✔
1072
  ): Effected<Effect, unknown> {
45✔
1073
    return this.handle(
45✔
1074
      (name): name is ErrorName<E> => typeof name === "string" && name.startsWith("error:"),
45✔
1075
      (({ effect, terminate }: any, ...payloads: [message?: string]) => {
45✔
1076
        const error = effect.name.slice(6) as ErrorName<ExtractEffect<E>>;
33✔
1077
        const it = handler(error, ...payloads);
33✔
1078
        if (!(it instanceof Effected) && !isGenerator(it)) return terminate(it);
33✔
1079
        const iterator = it[Symbol.iterator]();
3✔
1080
        return {
3✔
1081
          _effectedIterator: true,
3✔
1082
          next: (...args: [] | [unknown]) => {
3✔
1083
            const result = iterator.next(...args);
6✔
1084
            if (result.done) return { done: true, value: terminate(result.value) };
6✔
1085
            return result;
3✔
1086
          },
6✔
1087
        };
3✔
1088
      }) as never,
33✔
1089
    );
45✔
1090
  }
45✔
1091

1092
  /**
1093
   * Catch an error effect and throw it as an error.
1094
   * @param name The name of the error effect.
1095
   * @param message The message of the error. If it is a function, it will be called with the
1096
   * message of the error effect, and the return value will be used as the message of the error.
1097
   * @returns
1098
   *
1099
   * @since 0.1.1
1100
   */
1101
  catchAndThrow<Name extends ErrorName<ExtractEffect<E>>>(
3✔
1102
    name: Name,
18✔
1103
    message?: string | ((message?: string) => string | undefined),
18✔
1104
  ): Effected<ExcludeEffect<E, Effect.Error<Name>>, R> {
18✔
1105
    return this.catch(name, (...args) => {
18✔
1106
      throw new (buildErrorClass(name))(
18✔
1107
        ...(typeof message === "string" ? [message]
18✔
1108
        : typeof message === "function" ? [message(...args)].filter((v) => v !== undefined)
12✔
1109
        : args),
6✔
1110
      );
18✔
1111
    });
18✔
1112
  }
18✔
1113

1114
  /**
1115
   * Catch all error effects and throw them as an error.
1116
   * @param message The message of the error. If it is a function, it will be called with the name
1117
   * and the message of the error effect, and the return value will be used as the message of the
1118
   * error.
1119
   * @returns
1120
   *
1121
   * @since 0.1.1
1122
   */
1123
  catchAllAndThrow(
3✔
1124
    message?: string | ((error: string, message?: string) => string | undefined),
18✔
1125
  ): Effected<ExcludeEffect<E, Effect.Error>, R> {
18✔
1126
    return this.catchAll((error, ...args) => {
18✔
1127
      throw new (buildErrorClass(error))(
18✔
1128
        ...(typeof message === "string" ? [message]
18✔
1129
        : typeof message === "function" ? [message(error, ...args)].filter((v) => v !== undefined)
12✔
1130
        : args),
6✔
1131
      );
18✔
1132
    });
18✔
1133
  }
18✔
1134

1135
  /**
1136
   * Provide a value for a dependency effect.
1137
   * @param name The name of the dependency.
1138
   * @param value The value to provide for the dependency.
1139
   * @returns
1140
   */
1141
  provide<Name extends DependencyName<ExtractEffect<E>>>(
3✔
1142
    name: Name,
57✔
1143
    value: ExtractEffect<E> extends infer E extends Effect ?
57✔
1144
      E extends Effect.Dependency<Name, infer R> ?
1145
        R
1146
      : never
1147
    : never,
1148
  ): Effected<ExcludeEffect<E, Effect.Dependency<Name>>, R> {
57✔
1149
    return this.resume(`dependency:${name}` as never, (() => value) as never) as never;
57✔
1150
  }
57✔
1151

1152
  /**
1153
   * Provide a value for a dependency effect with a getter.
1154
   * @param name The name of the dependency.
1155
   * @param getter The getter to provide for the dependency.
1156
   * @returns
1157
   */
1158
  provideBy<Name extends DependencyName<ExtractEffect<E>>, F extends Effect = never>(
3✔
1159
    name: Name,
21✔
1160
    getter: ExtractEffect<E> extends infer E extends Effect ?
21✔
1161
      E extends Effect.Dependency<Name, infer R> ?
1162
        () => R | Generator<F, R, unknown> | Effected<F, R>
1163
      : never
1164
    : never,
1165
  ): Effected<ExcludeEffect<E, Effect.Dependency<Name>> | F, R> {
21✔
1166
    return this.resume(`dependency:${name}`, getter as never) as never;
21✔
1167
  }
21✔
1168

1169
  /**
1170
   * Apply a handler to the effected program.
1171
   * @param handler The handler to apply to the effected program.
1172
   * @returns
1173
   */
1174
  with<F extends Effect, G extends Effect, S>(
1175
    handler: (self: EffectedDraft<never, never, R>) => EffectedDraft<F, G, S>,
1176
  ): Effected<ExcludeEffect<E, F> | G, S>;
1177
  with<F extends Effect, S>(handler: (self: Effected<E, R>) => Effected<F, S>): Effected<F, S>;
1178
  with(handler: (self: any) => unknown) {
3✔
1179
    return handler(this);
84✔
1180
  }
84✔
1181

1182
  /**
1183
   * Pipe the effected program through a series of functions.
1184
   * @returns
1185
   */
1186
  // Generated overloads. See `scripts/generate-pipe-overloads.ts`
1187
  // * 1
1188
  // prettier-ignore
1189
  pipe<E1In extends Effect, E2Out extends Effect, R2>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>): Effected<Exclude<E, E1In> | E2Out, R2>;
1190
  // prettier-ignore
1191
  pipe<E2 extends Effect, R2>(a: (self: Effected<E, R>) => Effected<E2, R2>): Effected<E2, R2>;
1192
  // * 2
1193
  // prettier-ignore
1194
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>): Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>;
1195
  // prettier-ignore
1196
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>): Effected<E3, R3>;
1197
  // prettier-ignore
1198
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>): Effected<Exclude<E2, E2In> | E3Out, R3>;
1199
  // prettier-ignore
1200
  pipe<E2 extends Effect, R2, E3 extends Effect, R3>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>): Effected<E3, R3>;
1201
  // * 3
1202
  // prettier-ignore
1203
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>): Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>;
1204
  // prettier-ignore
1205
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>): Effected<E4, R4>;
1206
  // prettier-ignore
1207
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>): Effected<Exclude<E3, E3In> | E4Out, R4>;
1208
  // prettier-ignore
1209
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>): Effected<E4, R4>;
1210
  // prettier-ignore
1211
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>): Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>;
1212
  // prettier-ignore
1213
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>): Effected<E4, R4>;
1214
  // prettier-ignore
1215
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>): Effected<Exclude<E3, E3In> | E4Out, R4>;
1216
  // prettier-ignore
1217
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>): Effected<E4, R4>;
1218
  // * 4
1219
  // prettier-ignore
1220
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>): Effected<Exclude<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>;
1221
  // prettier-ignore
1222
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>): Effected<E5, R5>;
1223
  // prettier-ignore
1224
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>): Effected<Exclude<E4, E4In> | E5Out, R5>;
1225
  // prettier-ignore
1226
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>): Effected<E5, R5>;
1227
  // prettier-ignore
1228
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>): Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>;
1229
  // prettier-ignore
1230
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>): Effected<E5, R5>;
1231
  // prettier-ignore
1232
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>): Effected<Exclude<E4, E4In> | E5Out, R5>;
1233
  // prettier-ignore
1234
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>): Effected<E5, R5>;
1235
  // prettier-ignore
1236
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>): Effected<Exclude<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>;
1237
  // prettier-ignore
1238
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>): Effected<E5, R5>;
1239
  // prettier-ignore
1240
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>): Effected<Exclude<E4, E4In> | E5Out, R5>;
1241
  // prettier-ignore
1242
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>): Effected<E5, R5>;
1243
  // prettier-ignore
1244
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>): Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>;
1245
  // prettier-ignore
1246
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>): Effected<E5, R5>;
1247
  // prettier-ignore
1248
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>): Effected<Exclude<E4, E4In> | E5Out, R5>;
1249
  // prettier-ignore
1250
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>): Effected<E5, R5>;
1251
  // * 5
1252
  // prettier-ignore
1253
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>): Effected<Exclude<Exclude<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>;
1254
  // prettier-ignore
1255
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>): Effected<E6, R6>;
1256
  // prettier-ignore
1257
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>): Effected<Exclude<E5, E5In> | E6Out, R6>;
1258
  // prettier-ignore
1259
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>): Effected<E6, R6>;
1260
  // prettier-ignore
1261
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>): Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>;
1262
  // prettier-ignore
1263
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>): Effected<E6, R6>;
1264
  // prettier-ignore
1265
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>): Effected<Exclude<E5, E5In> | E6Out, R6>;
1266
  // prettier-ignore
1267
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>): Effected<E6, R6>;
1268
  // prettier-ignore
1269
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>): Effected<Exclude<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>;
1270
  // prettier-ignore
1271
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>): Effected<E6, R6>;
1272
  // prettier-ignore
1273
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>): Effected<Exclude<E5, E5In> | E6Out, R6>;
1274
  // prettier-ignore
1275
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>): Effected<E6, R6>;
1276
  // prettier-ignore
1277
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>): Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>;
1278
  // prettier-ignore
1279
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>): Effected<E6, R6>;
1280
  // prettier-ignore
1281
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>): Effected<Exclude<E5, E5In> | E6Out, R6>;
1282
  // prettier-ignore
1283
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>): Effected<E6, R6>;
1284
  // prettier-ignore
1285
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>): Effected<Exclude<Exclude<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>;
1286
  // prettier-ignore
1287
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>): Effected<E6, R6>;
1288
  // prettier-ignore
1289
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>): Effected<Exclude<E5, E5In> | E6Out, R6>;
1290
  // prettier-ignore
1291
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>): Effected<E6, R6>;
1292
  // prettier-ignore
1293
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>): Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>;
1294
  // prettier-ignore
1295
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>): Effected<E6, R6>;
1296
  // prettier-ignore
1297
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>): Effected<Exclude<E5, E5In> | E6Out, R6>;
1298
  // prettier-ignore
1299
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>): Effected<E6, R6>;
1300
  // prettier-ignore
1301
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>): Effected<Exclude<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>;
1302
  // prettier-ignore
1303
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>): Effected<E6, R6>;
1304
  // prettier-ignore
1305
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>): Effected<Exclude<E5, E5In> | E6Out, R6>;
1306
  // prettier-ignore
1307
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>): Effected<E6, R6>;
1308
  // prettier-ignore
1309
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>): Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>;
1310
  // prettier-ignore
1311
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>): Effected<E6, R6>;
1312
  // prettier-ignore
1313
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>): Effected<Exclude<E5, E5In> | E6Out, R6>;
1314
  // prettier-ignore
1315
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>): Effected<E6, R6>;
1316
  // * 6
1317
  // prettier-ignore
1318
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>;
1319
  // prettier-ignore
1320
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1321
  // prettier-ignore
1322
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<E6, E6In> | E7Out, R7>;
1323
  // prettier-ignore
1324
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1325
  // prettier-ignore
1326
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>;
1327
  // prettier-ignore
1328
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1329
  // prettier-ignore
1330
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<E6, E6In> | E7Out, R7>;
1331
  // prettier-ignore
1332
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1333
  // prettier-ignore
1334
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>;
1335
  // prettier-ignore
1336
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1337
  // prettier-ignore
1338
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<E6, E6In> | E7Out, R7>;
1339
  // prettier-ignore
1340
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1341
  // prettier-ignore
1342
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>;
1343
  // prettier-ignore
1344
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1345
  // prettier-ignore
1346
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<E6, E6In> | E7Out, R7>;
1347
  // prettier-ignore
1348
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1349
  // prettier-ignore
1350
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<Exclude<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>;
1351
  // prettier-ignore
1352
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1353
  // prettier-ignore
1354
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<E6, E6In> | E7Out, R7>;
1355
  // prettier-ignore
1356
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1357
  // prettier-ignore
1358
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>;
1359
  // prettier-ignore
1360
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1361
  // prettier-ignore
1362
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<E6, E6In> | E7Out, R7>;
1363
  // prettier-ignore
1364
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1365
  // prettier-ignore
1366
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>;
1367
  // prettier-ignore
1368
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1369
  // prettier-ignore
1370
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<E6, E6In> | E7Out, R7>;
1371
  // prettier-ignore
1372
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1373
  // prettier-ignore
1374
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>;
1375
  // prettier-ignore
1376
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1377
  // prettier-ignore
1378
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<E6, E6In> | E7Out, R7>;
1379
  // prettier-ignore
1380
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1381
  // prettier-ignore
1382
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<Exclude<Exclude<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>;
1383
  // prettier-ignore
1384
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1385
  // prettier-ignore
1386
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<E6, E6In> | E7Out, R7>;
1387
  // prettier-ignore
1388
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1389
  // prettier-ignore
1390
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>;
1391
  // prettier-ignore
1392
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1393
  // prettier-ignore
1394
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<E6, E6In> | E7Out, R7>;
1395
  // prettier-ignore
1396
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1397
  // prettier-ignore
1398
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>;
1399
  // prettier-ignore
1400
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1401
  // prettier-ignore
1402
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<E6, E6In> | E7Out, R7>;
1403
  // prettier-ignore
1404
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1405
  // prettier-ignore
1406
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>;
1407
  // prettier-ignore
1408
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1409
  // prettier-ignore
1410
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<E6, E6In> | E7Out, R7>;
1411
  // prettier-ignore
1412
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1413
  // prettier-ignore
1414
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<Exclude<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>;
1415
  // prettier-ignore
1416
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1417
  // prettier-ignore
1418
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<E6, E6In> | E7Out, R7>;
1419
  // prettier-ignore
1420
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1421
  // prettier-ignore
1422
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>;
1423
  // prettier-ignore
1424
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1425
  // prettier-ignore
1426
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<E6, E6In> | E7Out, R7>;
1427
  // prettier-ignore
1428
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1429
  // prettier-ignore
1430
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>;
1431
  // prettier-ignore
1432
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1433
  // prettier-ignore
1434
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<E6, E6In> | E7Out, R7>;
1435
  // prettier-ignore
1436
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1437
  // prettier-ignore
1438
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>;
1439
  // prettier-ignore
1440
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1441
  // prettier-ignore
1442
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>): Effected<Exclude<E6, E6In> | E7Out, R7>;
1443
  // prettier-ignore
1444
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>): Effected<E7, R7>;
1445
  // * 7
1446
  // prettier-ignore
1447
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>;
1448
  // prettier-ignore
1449
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1450
  // prettier-ignore
1451
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1452
  // prettier-ignore
1453
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1454
  // prettier-ignore
1455
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>;
1456
  // prettier-ignore
1457
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1458
  // prettier-ignore
1459
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1460
  // prettier-ignore
1461
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1462
  // prettier-ignore
1463
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>;
1464
  // prettier-ignore
1465
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1466
  // prettier-ignore
1467
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1468
  // prettier-ignore
1469
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1470
  // prettier-ignore
1471
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>;
1472
  // prettier-ignore
1473
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1474
  // prettier-ignore
1475
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1476
  // prettier-ignore
1477
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1478
  // prettier-ignore
1479
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>;
1480
  // prettier-ignore
1481
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1482
  // prettier-ignore
1483
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1484
  // prettier-ignore
1485
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1486
  // prettier-ignore
1487
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>;
1488
  // prettier-ignore
1489
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1490
  // prettier-ignore
1491
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1492
  // prettier-ignore
1493
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1494
  // prettier-ignore
1495
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>;
1496
  // prettier-ignore
1497
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1498
  // prettier-ignore
1499
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1500
  // prettier-ignore
1501
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1502
  // prettier-ignore
1503
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>;
1504
  // prettier-ignore
1505
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1506
  // prettier-ignore
1507
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1508
  // prettier-ignore
1509
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1510
  // prettier-ignore
1511
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<Exclude<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>;
1512
  // prettier-ignore
1513
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1514
  // prettier-ignore
1515
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1516
  // prettier-ignore
1517
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1518
  // prettier-ignore
1519
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>;
1520
  // prettier-ignore
1521
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1522
  // prettier-ignore
1523
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1524
  // prettier-ignore
1525
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1526
  // prettier-ignore
1527
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>;
1528
  // prettier-ignore
1529
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1530
  // prettier-ignore
1531
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1532
  // prettier-ignore
1533
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1534
  // prettier-ignore
1535
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>;
1536
  // prettier-ignore
1537
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1538
  // prettier-ignore
1539
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1540
  // prettier-ignore
1541
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1542
  // prettier-ignore
1543
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>;
1544
  // prettier-ignore
1545
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1546
  // prettier-ignore
1547
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1548
  // prettier-ignore
1549
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1550
  // prettier-ignore
1551
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>;
1552
  // prettier-ignore
1553
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1554
  // prettier-ignore
1555
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1556
  // prettier-ignore
1557
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1558
  // prettier-ignore
1559
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>;
1560
  // prettier-ignore
1561
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1562
  // prettier-ignore
1563
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1564
  // prettier-ignore
1565
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1566
  // prettier-ignore
1567
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>;
1568
  // prettier-ignore
1569
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1570
  // prettier-ignore
1571
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1572
  // prettier-ignore
1573
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1574
  // prettier-ignore
1575
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>;
1576
  // prettier-ignore
1577
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<Exclude<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1578
  // prettier-ignore
1579
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1580
  // prettier-ignore
1581
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1582
  // prettier-ignore
1583
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>;
1584
  // prettier-ignore
1585
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1586
  // prettier-ignore
1587
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1588
  // prettier-ignore
1589
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1590
  // prettier-ignore
1591
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>;
1592
  // prettier-ignore
1593
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1594
  // prettier-ignore
1595
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1596
  // prettier-ignore
1597
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1598
  // prettier-ignore
1599
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>;
1600
  // prettier-ignore
1601
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1602
  // prettier-ignore
1603
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1604
  // prettier-ignore
1605
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1606
  // prettier-ignore
1607
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>;
1608
  // prettier-ignore
1609
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1610
  // prettier-ignore
1611
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1612
  // prettier-ignore
1613
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1614
  // prettier-ignore
1615
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>;
1616
  // prettier-ignore
1617
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1618
  // prettier-ignore
1619
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1620
  // prettier-ignore
1621
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1622
  // prettier-ignore
1623
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>;
1624
  // prettier-ignore
1625
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1626
  // prettier-ignore
1627
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1628
  // prettier-ignore
1629
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1630
  // prettier-ignore
1631
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>;
1632
  // prettier-ignore
1633
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1634
  // prettier-ignore
1635
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1636
  // prettier-ignore
1637
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1638
  // prettier-ignore
1639
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<Exclude<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>;
1640
  // prettier-ignore
1641
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1642
  // prettier-ignore
1643
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1644
  // prettier-ignore
1645
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1646
  // prettier-ignore
1647
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>;
1648
  // prettier-ignore
1649
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1650
  // prettier-ignore
1651
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1652
  // prettier-ignore
1653
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1654
  // prettier-ignore
1655
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>;
1656
  // prettier-ignore
1657
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1658
  // prettier-ignore
1659
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1660
  // prettier-ignore
1661
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1662
  // prettier-ignore
1663
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>;
1664
  // prettier-ignore
1665
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1666
  // prettier-ignore
1667
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1668
  // prettier-ignore
1669
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1670
  // prettier-ignore
1671
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>;
1672
  // prettier-ignore
1673
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1674
  // prettier-ignore
1675
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1676
  // prettier-ignore
1677
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1678
  // prettier-ignore
1679
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>;
1680
  // prettier-ignore
1681
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1682
  // prettier-ignore
1683
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1684
  // prettier-ignore
1685
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1686
  // prettier-ignore
1687
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>;
1688
  // prettier-ignore
1689
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1690
  // prettier-ignore
1691
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1692
  // prettier-ignore
1693
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1694
  // prettier-ignore
1695
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>;
1696
  // prettier-ignore
1697
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1698
  // prettier-ignore
1699
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>): Effected<Exclude<E7, E7In> | E8Out, R8>;
1700
  // prettier-ignore
1701
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>): Effected<E8, R8>;
1702
  // * 8
1703
  // prettier-ignore
1704
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
1705
  // prettier-ignore
1706
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1707
  // prettier-ignore
1708
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1709
  // prettier-ignore
1710
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1711
  // prettier-ignore
1712
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
1713
  // prettier-ignore
1714
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1715
  // prettier-ignore
1716
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1717
  // prettier-ignore
1718
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1719
  // prettier-ignore
1720
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
1721
  // prettier-ignore
1722
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1723
  // prettier-ignore
1724
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1725
  // prettier-ignore
1726
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1727
  // prettier-ignore
1728
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
1729
  // prettier-ignore
1730
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1731
  // prettier-ignore
1732
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1733
  // prettier-ignore
1734
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1735
  // prettier-ignore
1736
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
1737
  // prettier-ignore
1738
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1739
  // prettier-ignore
1740
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1741
  // prettier-ignore
1742
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1743
  // prettier-ignore
1744
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
1745
  // prettier-ignore
1746
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1747
  // prettier-ignore
1748
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1749
  // prettier-ignore
1750
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1751
  // prettier-ignore
1752
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
1753
  // prettier-ignore
1754
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1755
  // prettier-ignore
1756
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1757
  // prettier-ignore
1758
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1759
  // prettier-ignore
1760
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
1761
  // prettier-ignore
1762
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1763
  // prettier-ignore
1764
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1765
  // prettier-ignore
1766
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1767
  // prettier-ignore
1768
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
1769
  // prettier-ignore
1770
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1771
  // prettier-ignore
1772
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1773
  // prettier-ignore
1774
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1775
  // prettier-ignore
1776
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
1777
  // prettier-ignore
1778
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1779
  // prettier-ignore
1780
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1781
  // prettier-ignore
1782
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1783
  // prettier-ignore
1784
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
1785
  // prettier-ignore
1786
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1787
  // prettier-ignore
1788
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1789
  // prettier-ignore
1790
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1791
  // prettier-ignore
1792
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
1793
  // prettier-ignore
1794
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1795
  // prettier-ignore
1796
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1797
  // prettier-ignore
1798
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1799
  // prettier-ignore
1800
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
1801
  // prettier-ignore
1802
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1803
  // prettier-ignore
1804
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1805
  // prettier-ignore
1806
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1807
  // prettier-ignore
1808
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
1809
  // prettier-ignore
1810
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1811
  // prettier-ignore
1812
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1813
  // prettier-ignore
1814
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1815
  // prettier-ignore
1816
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
1817
  // prettier-ignore
1818
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1819
  // prettier-ignore
1820
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1821
  // prettier-ignore
1822
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1823
  // prettier-ignore
1824
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
1825
  // prettier-ignore
1826
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1827
  // prettier-ignore
1828
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1829
  // prettier-ignore
1830
  pipe<E1In extends Effect, E2Out extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<Exclude<E, E1In> | E2Out, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1831
  // prettier-ignore
1832
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
1833
  // prettier-ignore
1834
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<Exclude<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1835
  // prettier-ignore
1836
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1837
  // prettier-ignore
1838
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1839
  // prettier-ignore
1840
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
1841
  // prettier-ignore
1842
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1843
  // prettier-ignore
1844
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1845
  // prettier-ignore
1846
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1847
  // prettier-ignore
1848
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
1849
  // prettier-ignore
1850
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1851
  // prettier-ignore
1852
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1853
  // prettier-ignore
1854
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1855
  // prettier-ignore
1856
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
1857
  // prettier-ignore
1858
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1859
  // prettier-ignore
1860
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1861
  // prettier-ignore
1862
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1863
  // prettier-ignore
1864
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
1865
  // prettier-ignore
1866
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1867
  // prettier-ignore
1868
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1869
  // prettier-ignore
1870
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1871
  // prettier-ignore
1872
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
1873
  // prettier-ignore
1874
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1875
  // prettier-ignore
1876
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1877
  // prettier-ignore
1878
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1879
  // prettier-ignore
1880
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
1881
  // prettier-ignore
1882
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1883
  // prettier-ignore
1884
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1885
  // prettier-ignore
1886
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1887
  // prettier-ignore
1888
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
1889
  // prettier-ignore
1890
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1891
  // prettier-ignore
1892
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1893
  // prettier-ignore
1894
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1895
  // prettier-ignore
1896
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
1897
  // prettier-ignore
1898
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1899
  // prettier-ignore
1900
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1901
  // prettier-ignore
1902
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1903
  // prettier-ignore
1904
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
1905
  // prettier-ignore
1906
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1907
  // prettier-ignore
1908
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1909
  // prettier-ignore
1910
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1911
  // prettier-ignore
1912
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
1913
  // prettier-ignore
1914
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1915
  // prettier-ignore
1916
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1917
  // prettier-ignore
1918
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1919
  // prettier-ignore
1920
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
1921
  // prettier-ignore
1922
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1923
  // prettier-ignore
1924
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1925
  // prettier-ignore
1926
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1927
  // prettier-ignore
1928
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
1929
  // prettier-ignore
1930
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1931
  // prettier-ignore
1932
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1933
  // prettier-ignore
1934
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1935
  // prettier-ignore
1936
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
1937
  // prettier-ignore
1938
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1939
  // prettier-ignore
1940
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1941
  // prettier-ignore
1942
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1943
  // prettier-ignore
1944
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
1945
  // prettier-ignore
1946
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1947
  // prettier-ignore
1948
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1949
  // prettier-ignore
1950
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1951
  // prettier-ignore
1952
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
1953
  // prettier-ignore
1954
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1955
  // prettier-ignore
1956
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1957
  // prettier-ignore
1958
  pipe<E1In extends Effect, E2Out extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: EffectedDraft<never, never, R>) => EffectedDraft<E1In, E2Out, R2>, b: (self: Effected<Exclude<E, E1In> | E2Out, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1959
  // prettier-ignore
1960
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
1961
  // prettier-ignore
1962
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1963
  // prettier-ignore
1964
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<Exclude<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1965
  // prettier-ignore
1966
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<Exclude<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1967
  // prettier-ignore
1968
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
1969
  // prettier-ignore
1970
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1971
  // prettier-ignore
1972
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1973
  // prettier-ignore
1974
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1975
  // prettier-ignore
1976
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
1977
  // prettier-ignore
1978
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1979
  // prettier-ignore
1980
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1981
  // prettier-ignore
1982
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1983
  // prettier-ignore
1984
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
1985
  // prettier-ignore
1986
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1987
  // prettier-ignore
1988
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1989
  // prettier-ignore
1990
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1991
  // prettier-ignore
1992
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
1993
  // prettier-ignore
1994
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1995
  // prettier-ignore
1996
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
1997
  // prettier-ignore
1998
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
1999
  // prettier-ignore
2000
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
2001
  // prettier-ignore
2002
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2003
  // prettier-ignore
2004
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
2005
  // prettier-ignore
2006
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2007
  // prettier-ignore
2008
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
2009
  // prettier-ignore
2010
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2011
  // prettier-ignore
2012
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
2013
  // prettier-ignore
2014
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2015
  // prettier-ignore
2016
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
2017
  // prettier-ignore
2018
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2019
  // prettier-ignore
2020
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
2021
  // prettier-ignore
2022
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<Exclude<E2, E2In> | E3Out, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2023
  // prettier-ignore
2024
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
2025
  // prettier-ignore
2026
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2027
  // prettier-ignore
2028
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
2029
  // prettier-ignore
2030
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2031
  // prettier-ignore
2032
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
2033
  // prettier-ignore
2034
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2035
  // prettier-ignore
2036
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
2037
  // prettier-ignore
2038
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2039
  // prettier-ignore
2040
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
2041
  // prettier-ignore
2042
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2043
  // prettier-ignore
2044
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
2045
  // prettier-ignore
2046
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2047
  // prettier-ignore
2048
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
2049
  // prettier-ignore
2050
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2051
  // prettier-ignore
2052
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
2053
  // prettier-ignore
2054
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2055
  // prettier-ignore
2056
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
2057
  // prettier-ignore
2058
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2059
  // prettier-ignore
2060
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
2061
  // prettier-ignore
2062
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2063
  // prettier-ignore
2064
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
2065
  // prettier-ignore
2066
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2067
  // prettier-ignore
2068
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
2069
  // prettier-ignore
2070
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2071
  // prettier-ignore
2072
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
2073
  // prettier-ignore
2074
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2075
  // prettier-ignore
2076
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
2077
  // prettier-ignore
2078
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2079
  // prettier-ignore
2080
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
2081
  // prettier-ignore
2082
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2083
  // prettier-ignore
2084
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
2085
  // prettier-ignore
2086
  pipe<E2 extends Effect, R2, E2In extends Effect, E3Out extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: EffectedDraft<never, never, R2>) => EffectedDraft<E2In, E3Out, R3>, c: (self: Effected<Exclude<E2, E2In> | E3Out, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2087
  // prettier-ignore
2088
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
2089
  // prettier-ignore
2090
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<Exclude<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2091
  // prettier-ignore
2092
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
2093
  // prettier-ignore
2094
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2095
  // prettier-ignore
2096
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
2097
  // prettier-ignore
2098
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2099
  // prettier-ignore
2100
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
2101
  // prettier-ignore
2102
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2103
  // prettier-ignore
2104
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
2105
  // prettier-ignore
2106
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2107
  // prettier-ignore
2108
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
2109
  // prettier-ignore
2110
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2111
  // prettier-ignore
2112
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
2113
  // prettier-ignore
2114
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2115
  // prettier-ignore
2116
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
2117
  // prettier-ignore
2118
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<Exclude<E3, E3In> | E4Out, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2119
  // prettier-ignore
2120
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
2121
  // prettier-ignore
2122
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2123
  // prettier-ignore
2124
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
2125
  // prettier-ignore
2126
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2127
  // prettier-ignore
2128
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
2129
  // prettier-ignore
2130
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2131
  // prettier-ignore
2132
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
2133
  // prettier-ignore
2134
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2135
  // prettier-ignore
2136
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
2137
  // prettier-ignore
2138
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2139
  // prettier-ignore
2140
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
2141
  // prettier-ignore
2142
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2143
  // prettier-ignore
2144
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
2145
  // prettier-ignore
2146
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2147
  // prettier-ignore
2148
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
2149
  // prettier-ignore
2150
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E3In extends Effect, E4Out extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: EffectedDraft<never, never, R3>) => EffectedDraft<E3In, E4Out, R4>, d: (self: Effected<Exclude<E3, E3In> | E4Out, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2151
  // prettier-ignore
2152
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
2153
  // prettier-ignore
2154
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2155
  // prettier-ignore
2156
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
2157
  // prettier-ignore
2158
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2159
  // prettier-ignore
2160
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
2161
  // prettier-ignore
2162
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2163
  // prettier-ignore
2164
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
2165
  // prettier-ignore
2166
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<Exclude<E4, E4In> | E5Out, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2167
  // prettier-ignore
2168
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
2169
  // prettier-ignore
2170
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2171
  // prettier-ignore
2172
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
2173
  // prettier-ignore
2174
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2175
  // prettier-ignore
2176
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
2177
  // prettier-ignore
2178
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2179
  // prettier-ignore
2180
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
2181
  // prettier-ignore
2182
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E4In extends Effect, E5Out extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: EffectedDraft<never, never, R4>) => EffectedDraft<E4In, E5Out, R5>, e: (self: Effected<Exclude<E4, E4In> | E5Out, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2183
  // prettier-ignore
2184
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
2185
  // prettier-ignore
2186
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2187
  // prettier-ignore
2188
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
2189
  // prettier-ignore
2190
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<Exclude<E5, E5In> | E6Out, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2191
  // prettier-ignore
2192
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
2193
  // prettier-ignore
2194
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2195
  // prettier-ignore
2196
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
2197
  // prettier-ignore
2198
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E5In extends Effect, E6Out extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: EffectedDraft<never, never, R5>) => EffectedDraft<E5In, E6Out, R6>, f: (self: Effected<Exclude<E5, E5In> | E6Out, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2199
  // prettier-ignore
2200
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, E8In> | E9Out, R9>;
2201
  // prettier-ignore
2202
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<Exclude<E6, E6In> | E7Out, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2203
  // prettier-ignore
2204
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
2205
  // prettier-ignore
2206
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E6In extends Effect, E7Out extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: EffectedDraft<never, never, R6>) => EffectedDraft<E6In, E7Out, R7>, g: (self: Effected<Exclude<E6, E6In> | E7Out, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2207
  // prettier-ignore
2208
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<Exclude<E7, E7In> | E8Out, E8In> | E9Out, R9>;
2209
  // prettier-ignore
2210
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E7In extends Effect, E8Out extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: EffectedDraft<never, never, R7>) => EffectedDraft<E7In, E8Out, R8>, h: (self: Effected<Exclude<E7, E7In> | E8Out, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2211
  // prettier-ignore
2212
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E8In extends Effect, E9Out extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: EffectedDraft<never, never, R8>) => EffectedDraft<E8In, E9Out, R9>): Effected<Exclude<E8, E8In> | E9Out, R9>;
2213
  // prettier-ignore
2214
  pipe<E2 extends Effect, R2, E3 extends Effect, R3, E4 extends Effect, R4, E5 extends Effect, R5, E6 extends Effect, R6, E7 extends Effect, R7, E8 extends Effect, R8, E9 extends Effect, R9>(a: (self: Effected<E, R>) => Effected<E2, R2>, b: (self: Effected<E2, R2>) => Effected<E3, R3>, c: (self: Effected<E3, R3>) => Effected<E4, R4>, d: (self: Effected<E4, R4>) => Effected<E5, R5>, e: (self: Effected<E5, R5>) => Effected<E6, R6>, f: (self: Effected<E6, R6>) => Effected<E7, R7>, g: (self: Effected<E7, R7>) => Effected<E8, R8>, h: (self: Effected<E8, R8>) => Effected<E9, R9>): Effected<E9, R9>;
2215
  pipe(...args: ((value: any) => any)[]): any {
3✔
2216
    // Optimization inspired by Effect
2217
    // https://github.com/Effect-TS/effect/blob/f293e97ab2a26f45586de106b85119c5d98ab4c7/packages/effect/src/Pipeable.ts#L491-L524
2218
    switch (args.length) {
75✔
2219
      case 0:
75✔
2220
        return this;
3✔
2221
      case 1:
75✔
2222
        return args[0]!(this);
12✔
2223
      case 2:
75✔
2224
        return args[1]!(args[0]!(this));
21✔
2225
      case 3:
75✔
2226
        return args[2]!(args[1]!(args[0]!(this)));
3✔
2227
      case 4:
75✔
2228
        return args[3]!(args[2]!(args[1]!(args[0]!(this))));
3✔
2229
      case 5:
75✔
2230
        return args[4]!(args[3]!(args[2]!(args[1]!(args[0]!(this)))));
9✔
2231
      case 6:
75✔
2232
        return args[5]!(args[4]!(args[3]!(args[2]!(args[1]!(args[0]!(this))))));
3✔
2233
      case 7:
75✔
2234
        return args[6]!(args[5]!(args[4]!(args[3]!(args[2]!(args[1]!(args[0]!(this)))))));
6✔
2235
      case 8:
75✔
2236
        return args[7]!(args[6]!(args[5]!(args[4]!(args[3]!(args[2]!(args[1]!(args[0]!(this))))))));
3✔
2237
      case 9:
75✔
2238
        return args[8]!(
3✔
2239
          args[7]!(args[6]!(args[5]!(args[4]!(args[3]!(args[2]!(args[1]!(args[0]!(this)))))))),
3✔
2240
        );
3✔
2241
      default: {
75✔
2242
        // eslint-disable-next-line @typescript-eslint/no-this-alias
2243
        let result = this;
9✔
2244
        for (let i = 0, len = args.length; i < len; i++) result = args[i]!(result);
9✔
2245
        return result;
9✔
2246
      }
9✔
2247
    }
75✔
2248
  }
75✔
2249
}
3✔
2250

2251
export interface EffectedDraft<
2252
  out P extends Effect = Effect,
2253
  out E extends Effect = Effect,
2254
  out R = unknown,
2255
> extends Iterable<E, R, unknown> {
2256
  handle<Name extends ExtractEffect<E>["name"], T = R, F extends Effect = never>(
2257
    effect: Name,
2258
    handler: ExtractEffect<E> extends infer E ?
2259
      Extract<E, Effect<Name>> extends Unresumable<Effect> ?
2260
        (
2261
          {
2262
            effect,
2263
            terminate,
2264
          }: { effect: Extract<E, Effect<Name>>; terminate: (value: T) => void },
2265
          ...payloads: Extract<E, Effect<Name>>["payloads"]
2266
        ) => void | Generator<F, void, unknown> | Effected<F, void>
2267
      : (
2268
          {
2269
            effect,
2270
            resume,
2271
            terminate,
2272
          }: {
2273
            effect: Extract<E, Effect<Name>>;
2274
            resume: (value: Extract<E, Effect<Name>>["__returnType"]) => void;
2275
            terminate: (value: T) => void;
2276
          },
2277
          ...payloads: Extract<E, Effect<Name>>["payloads"]
2278
        ) => void | Generator<F, void, unknown> | Effected<F, void>
2279
    : never,
2280
  ): EffectedDraft<P, ExcludeEffect<E, Effect<Name>> | F, R | T>;
2281
  handle<Name extends string | symbol, T = R, F extends Effect = never>(
2282
    effect: (name: ExtractEffect<E>["name"]) => name is Name,
2283
    handler: ExtractEffect<E> extends infer E ?
2284
      Extract<E, Effect<Name>> extends Unresumable<Effect> ?
2285
        (
2286
          {
2287
            effect,
2288
            terminate,
2289
          }: { effect: Extract<E, Effect<Name>>; terminate: (value: T) => void },
2290
          ...payloads: Extract<E, Effect<Name>>["payloads"]
2291
        ) => void | Generator<F, void, unknown> | Effected<F, void>
2292
      : (
2293
          {
2294
            effect,
2295
            resume,
2296
            terminate,
2297
          }: {
2298
            effect: Extract<E, Effect<Name>>;
2299
            resume: (value: Extract<E, Effect<Name>>["__returnType"]) => void;
2300
            terminate: (value: T) => void;
2301
          },
2302
          ...payloads: Extract<E, Effect<Name>>["payloads"]
2303
        ) => void | Generator<F, void, unknown> | Effected<F, void>
2304
    : never,
2305
  ): EffectedDraft<P, ExcludeEffect<E, Effect<Name>> | F, R | T>;
2306

2307
  resume<Name extends Exclude<E, Unresumable<Effect>>["name"], F extends Effect = never>(
2308
    effect: Name,
2309
    handler: ExtractEffect<E> extends infer E ?
2310
      E extends Effect<Name, infer Payloads, infer R> ?
2311
        (...payloads: Payloads) => R | Generator<F, R, unknown> | Effected<F, R>
2312
      : never
2313
    : never,
2314
  ): EffectedDraft<P, ExcludeEffect<E, Effect<Name>> | F, R>;
2315
  resume<Name extends string | symbol, F extends Effect = never>(
2316
    effect: (name: Exclude<E, Unresumable<Effect>>["name"]) => name is Name,
2317
    handler: ExtractEffect<E> extends infer E ?
2318
      E extends Effect<Name, infer Payloads, infer R> ?
2319
        (...payloads: Payloads) => R | Generator<F, R, unknown> | Effected<F, R>
2320
      : never
2321
    : never,
2322
  ): EffectedDraft<P, ExcludeEffect<E, Effect<Name>> | F, R>;
2323

2324
  terminate<Name extends ExtractEffect<E>["name"], T, F extends Effect = never>(
2325
    effect: Name,
2326
    handler: ExtractEffect<E> extends infer E ?
2327
      E extends Effect<Name, infer Payloads> ?
2328
        (...payloads: Payloads) => Generator<F, T, unknown> | Effected<F, T>
2329
      : never
2330
    : never,
2331
  ): EffectedDraft<P, ExcludeEffect<E, Effect<Name>> | F, R | T>;
2332
  terminate<Name extends string | symbol, T, F extends Effect = never>(
2333
    effect: (name: ExtractEffect<E>["name"]) => name is Name,
2334
    handler: ExtractEffect<E> extends infer E ?
2335
      E extends Effect<Name, infer Payloads> ?
2336
        (...payloads: Payloads) => Generator<F, T, unknown> | Effected<F, T>
2337
      : never
2338
    : never,
2339
  ): EffectedDraft<P, ExcludeEffect<E, Effect<Name>> | F, R | T>;
2340
  terminate<Name extends ExtractEffect<E>["name"], T>(
2341
    effect: Name,
2342
    handler: ExtractEffect<E> extends infer E ?
2343
      E extends Effect<Name, infer Payloads> ?
2344
        (...payloads: Payloads) => T
2345
      : never
2346
    : never,
2347
  ): EffectedDraft<P, ExcludeEffect<E, Effect<Name>>, R | T>;
2348
  terminate<Name extends string | symbol, T>(
2349
    effect: (name: ExtractEffect<E>["name"]) => name is Name,
2350
    handler: ExtractEffect<E> extends infer E ?
2351
      E extends Effect<Name, infer Payloads> ?
2352
        (...payloads: Payloads) => T
2353
      : never
2354
    : never,
2355
  ): EffectedDraft<P, ExcludeEffect<E, Effect<Name>>, R | T>;
2356

2357
  as<S>(value: S): EffectedDraft<P, E, S>;
2358
  asVoid(): EffectedDraft<P, E, void>;
2359

2360
  map<S>(mapper: (value: R) => S): EffectedDraft<P, E, S>;
2361

2362
  flatMap<S, F extends Effect = never>(
2363
    mapper: (value: R) => Generator<F, S, unknown> | Effected<F, S>,
2364
  ): EffectedDraft<P, E | F, S>;
2365

2366
  andThen<S, F extends Effect = never>(
2367
    handler: (value: R) => Generator<F, S, unknown> | Effected<F, S> | S,
2368
  ): EffectedDraft<P, E | F, S>;
2369

2370
  tap<F extends Effect = never>(
2371
    handler: (value: R) => void | Generator<F, void, unknown> | Effected<F, void>,
2372
  ): EffectedDraft<P, E | F, R>;
2373

2374
  zip<S, F extends Effect>(that: Effected<F, S>): EffectedDraft<P, E | F, [R, S]>;
2375
  zip<S, F extends Effect, T, G extends Effect = never>(
2376
    that: Effected<F, S>,
2377
    mapper: (a: R, b: S) => T | Generator<G, T, unknown> | Effected<G, T>,
2378
  ): EffectedDraft<P, E | F | G, T>;
2379

2380
  catch<Name extends ErrorName<ExtractEffect<E>>, T, F extends Effect = never>(
2381
    effect: Name,
2382
    handler: (message?: string) => Generator<F, T, unknown> | Effected<F, T>,
2383
  ): EffectedDraft<P, ExcludeEffect<E, Effect.Error<Name>> | F, R | T>;
2384
  catch<Name extends ErrorName<ExtractEffect<E>>, T>(
2385
    effect: Name,
2386
    handler: (message?: string) => T,
2387
  ): EffectedDraft<P, ExcludeEffect<E, Effect.Error<Name>>, R | T>;
2388

2389
  catchAll<T, F extends Effect = never>(
2390
    handler: (
2391
      effect: ErrorName<ExtractEffect<E>>,
2392
      message?: string,
2393
    ) => Generator<F, T, unknown> | Effected<F, T>,
2394
  ): Effected<ExcludeEffect<E, Effect.Error> | F, R | T>;
2395
  catchAll<T>(
2396
    handler: (effect: ErrorName<ExtractEffect<E>>, message?: string) => T,
2397
  ): Effected<ExcludeEffect<E, Effect.Error>, R | T>;
2398

2399
  catchAndThrow<Name extends ErrorName<ExtractEffect<E>>>(
2400
    name: Name,
2401
    message?: string | ((message?: string) => string | undefined),
2402
  ): Effected<ExcludeEffect<E, Effect.Error<Name>>, R>;
2403

2404
  catchAllAndThrow(
2405
    message?: string | ((error: string, message?: string) => string | undefined),
2406
  ): Effected<ExcludeEffect<E, Effect.Error>, R>;
2407

2408
  provide<Name extends DependencyName<ExtractEffect<E>>>(
2409
    name: Name,
2410
    value: ExtractEffect<E> extends infer E extends Effect ?
2411
      E extends Effect.Dependency<Name, infer R> ?
2412
        R
2413
      : never
2414
    : never,
2415
  ): EffectedDraft<P, ExcludeEffect<E, Effect.Dependency<Name>>, R>;
2416
  provideBy<Name extends DependencyName<ExtractEffect<E>>, F extends Effect = never>(
2417
    name: Name,
2418
    getter: ExtractEffect<E> extends infer E extends Effect ?
2419
      E extends Effect.Dependency<Name, infer R> ?
2420
        () => R | Generator<F, R, unknown> | Effected<F, R>
2421
      : never
2422
    : never,
2423
  ): EffectedDraft<P, ExcludeEffect<E, Effect.Dependency<Name>> | F, R>;
2424

2425
  with<F extends Effect, G extends Effect, S>(
2426
    handler: (self: EffectedDraft<never, never, R>) => EffectedDraft<F, G, S>,
2427
  ): EffectedDraft<P, ExcludeEffect<E, F> | G, S>;
2428
  with<F extends Effect, S>(
2429
    handler: (self: Effected<E, R>) => Effected<F, S>,
2430
  ): EffectedDraft<P, F, S>;
2431
}
2432

2433
/**
2434
 * Create an effected program.
2435
 * @param fn A function that returns an iterator.
2436
 * @returns
2437
 *
2438
 * @example
2439
 * ```typescript
2440
 * type User = { id: number; name: string; role: "admin" | "user" };
2441
 *
2442
 * // Use `effect` and its variants to define factory functions for effects
2443
 * const println = effect("println")<unknown[], void>;
2444
 * const executeSQL = effect("executeSQL")<[sql: string, ...params: unknown[]], any>;
2445
 * const askCurrentUser = dependency("currentUser")<User | null>;
2446
 * const authenticationError = error("authentication");
2447
 * const unauthorizedError = error("unauthorized");
2448
 *
2449
 * // Use `effected` to define an effected program
2450
 * const requiresAdmin = () => effected(function* () {
2451
 *   const currentUser = yield* askCurrentUser();
2452
 *   if (!currentUser) return yield* authenticationError();
2453
 *   if (currentUser.role !== "admin")
2454
 *     return yield* unauthorizedError(`User "${currentUser.name}" is not an admin`);
2455
 * });
2456
 *
2457
 * // You can yield other effected programs in an effected program
2458
 * const createUser = (user: Omit<User, "id">) => effected(function* () {
2459
 *   yield* requiresAdmin();
2460
 *   const id = yield* executeSQL("INSERT INTO users (name) VALUES (?)", user.name);
2461
 *   const savedUser: User = { id, ...user };
2462
 *   yield* println("User created:", savedUser);
2463
 *   return savedUser;
2464
 * });
2465
 *
2466
 * const program = effected(function* () {
2467
 *   yield* createUser({ name: "Alice", role: "user" });
2468
 *   yield* createUser({ name: "Bob", role: "admin" });
2469
 * })
2470
 *   // Handle effects with the `.handle()` method
2471
 *   .handle("executeSQL", function* ({ resume, terminate }, sql, ...params) {
2472
 *     // You can yield other effects in a handler using a generator function
2473
 *     yield* println("Executing SQL:", sql, ...params);
2474
 *     // Asynchronous effects are supported
2475
 *     db.execute(sql, params, (err, result) => {
2476
 *       if (err) return terminate(err);
2477
 *       resume(result);
2478
 *     });
2479
 *   })
2480
 *   // a shortcut for `.handle()` that resumes the effect with the return value of the handler
2481
 *   .resume("println", (...args) => console.log(...args))
2482
 *   // Other shortcuts for special effects (error effects and dependency effects)
2483
 *   .provide("currentUser", { id: 1, name: "Charlie", role: "admin" })
2484
 *   .catch("authentication", () => console.error("Authentication error"));
2485
 *   .catch("unauthorized", () => console.error("Unauthorized error"));
2486
 *
2487
 * // Run the effected program with `.runSync()` or `.runAsync()`
2488
 * await program.runAsync();
2489
 * ```
2490
 *
2491
 * @see {@link effect}
2492
 */
2493
export function effected<E extends Effect, R>(fn: () => Iterator<E, R, unknown>): Effected<E, R> {
3✔
2494
  return new (Effected as any)(
6,735✔
2495
    fn,
6,735✔
2496
    "Yes, I’m sure I want to call the constructor of Effected directly.",
6,735✔
2497
  );
6,735✔
2498
}
6,735✔
2499

2500
/**
2501
 * Convert a {@link Promise} to an effected program containing a single {@link Effect}.
2502
 * @param promise The promise to effectify.
2503
 * @returns
2504
 *
2505
 * ```typescript
2506
 * // Assume we have `db.user.create(user: User): Promise<number>`
2507
 * const createUser = (user: Omit<User, "id">) => effected(function* () {
2508
 *   yield* requiresAdmin();
2509
 *   // Use `yield* effectify(...)` instead of `await ...` in an effected program
2510
 *   const id = yield* effectify(db.user.create(user));
2511
 *   const savedUser = { id, ...user };
2512
 *   yield* println("User created:", savedUser);
2513
 *   return savedUser;
2514
 * });
2515
 * ```
2516
 */
2517
export function effectify<T>(promise: Promise<T>): Effected<never, T> {
3✔
2518
  return effected(() => {
27✔
2519
    let state = 0;
27✔
2520
    return {
27✔
2521
      next: (...args) => {
27✔
2522
        switch (state) {
51✔
2523
          case 0:
51✔
2524
            state++;
27✔
2525
            return {
27✔
2526
              done: false,
27✔
2527
              value: {
27✔
2528
                _effectAsync: true,
27✔
2529
                onComplete: (
27✔
2530
                  ...args: [onComplete: (value: T) => void, onThrow?: (value: unknown) => void]
21✔
2531
                ) => promise.then(...args),
21✔
2532
              } as never,
27✔
2533
            };
27✔
2534
          case 1:
51✔
2535
            state++;
21✔
2536
            return {
21✔
2537
              done: true,
21✔
2538
              ...(args.length > 0 ? { value: args[0] } : {}),
21!
2539
            } as IteratorReturnResult<T>;
21✔
2540
          default:
51✔
2541
            return { done: true } as IteratorReturnResult<T>;
3✔
2542
        }
51✔
2543
      },
51✔
2544
    };
27✔
2545
  });
27✔
2546
}
27✔
2547

2548
/**
2549
 * Run an effected program synchronously and return its result.
2550
 * @param effected The effected program.
2551
 * @returns
2552
 *
2553
 * @throws {UnhandledEffectError} If an unhandled effect is encountered.
2554
 * @throws {Error} If an asynchronous effect is encountered.
2555
 */
2556
export function runSync<E extends Effected<Effect, unknown>>(
3✔
2557
  effected: E extends Effected<infer F extends Effect, unknown> ?
795✔
2558
    [ExtractUnhandled<F>] extends [never] ?
2559
      E
2560
    : UnhandledEffect<ExtractUnhandled<F>>
2561
  : never,
2562
): E extends Effected<infer F, infer R> ? ExtractDefaultTerminateType<F> | R : never {
795✔
2563
  const iterator = (effected as Iterable<any>)[Symbol.iterator]();
795✔
2564
  const context = {
795✔
2565
    interceptIterator: null as typeof iterator | null,
795✔
2566
    terminated: false as false | "with-value" | "without-value",
795✔
2567
    terminatedValue: undefined as unknown,
795✔
2568
  };
795✔
2569

2570
  let { done, value } = (context.interceptIterator || iterator).next();
795✔
2571
  while (!done) {
795✔
2572
    if (context.terminated) return context.terminatedValue as never;
1,086!
2573

2574
    if (!value)
1,086✔
2575
      throw new Error(
1,086✔
2576
        `Invalid effected program: an effected program should yield only effects (received ${stringify(value)})`,
3✔
2577
      );
3✔
2578
    if (value instanceof Effect) {
1,086✔
2579
      while (value instanceof Effect && typeof (value as any).defaultHandler === "function") {
168✔
2580
        value = handleEffect(context, effect.name, value, (value as any).defaultHandler).value;
66✔
2581
        // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
2582
        if (context.terminated) return context.terminatedValue as never;
66✔
2583
      }
66✔
2584
      if (value instanceof Effect)
165✔
2585
        throw new UnhandledEffectError(value, `Unhandled effect: ${stringifyEffect(value)}`);
168✔
2586
    }
168✔
2587
    if (value._effectSync) {
1,086✔
2588
      ({ done, value } = (context.interceptIterator || iterator).next(
963✔
2589
        ...("value" in value ? [value.value] : []),
963✔
2590
      ));
963✔
2591
      continue;
963✔
2592
    }
963✔
2593
    if (value._effectAsync)
9✔
2594
      throw new Error(
492✔
2595
        "Cannot run an asynchronous effected program with `runSync`, use `runAsync` instead",
6✔
2596
      );
6✔
2597

2598
    throw new Error(
3✔
2599
      `Invalid effected program: an effected program should yield only effects (received ${stringify(value)})`,
3✔
2600
    );
3✔
2601
  }
3✔
2602
  return value;
627✔
2603
}
627✔
2604

2605
/**
2606
 * Run a (possibly) asynchronous effected program and return its result as a {@link Promise}.
2607
 * @param effected The effected program.
2608
 * @returns
2609
 *
2610
 * @throws {UnhandledEffectError} If an unhandled effect is encountered.
2611
 */
2612
export function runAsync<E extends Effected<Effect, unknown>>(
3✔
2613
  effected: E extends Effected<infer F extends Effect, unknown> ?
162✔
2614
    [ExtractUnhandled<F>] extends [never] ?
2615
      E
2616
    : UnhandledEffect<ExtractUnhandled<F>>
2617
  : never,
2618
): Promise<E extends Effected<infer F, infer R> ? ExtractDefaultTerminateType<F> | R : never> {
162✔
2619
  const iterator = (effected as Iterable<any>)[Symbol.iterator]();
162✔
2620
  const context = {
162✔
2621
    interceptIterator: null as typeof iterator | null,
162✔
2622
    terminated: false as false | "with-value" | "without-value",
162✔
2623
    terminatedValue: undefined as unknown,
162✔
2624
  };
162✔
2625

2626
  return new Promise((resolve, reject) => {
162✔
2627
    const iterate = (...args: [] | [unknown]) => {
162✔
2628
      if (context.terminated) return context.terminatedValue;
348!
2629

2630
      let done: boolean | undefined;
348✔
2631
      let value: any;
348✔
2632
      try {
348✔
2633
        ({ done, value } = (context.interceptIterator || iterator).next(...args));
348✔
2634
      } catch (e) {
348✔
2635
        // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors
2636
        reject(e);
6✔
2637
        return;
6✔
2638
      }
6✔
2639

2640
      // We use a while loop to avoid stack overflow when there are many synchronous effects
2641
      while (!done) {
348✔
2642
        if (!value) {
612✔
2643
          reject(
3✔
2644
            new Error(
3✔
2645
              `Invalid effected program: an effected program should yield only effects (received ${stringify(value)})`,
3✔
2646
            ),
3✔
2647
          );
3✔
2648
          return;
3✔
2649
        }
3✔
2650
        if (value instanceof Effect) {
612✔
2651
          while (value instanceof Effect && typeof (value as any).defaultHandler === "function") {
96✔
2652
            value = handleEffect(context, effect.name, value, (value as any).defaultHandler).value;
102✔
2653
            // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
2654
            if (context.terminated) return context.terminatedValue;
102!
2655
          }
102✔
2656
          if (value instanceof Effect) {
96✔
2657
            reject(new UnhandledEffectError(value, `Unhandled effect: ${stringifyEffect(value)}`));
18✔
2658
            return;
18✔
2659
          }
18✔
2660
        }
96✔
2661
        if (value._effectSync) {
612✔
2662
          try {
324✔
2663
            ({ done, value } = (context.interceptIterator || iterator).next(
324✔
2664
              ...("value" in value ? [value.value] : []),
324✔
2665
            ));
324✔
2666
          } catch (e) {
324✔
2667
            // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors
2668
            reject(e);
3✔
2669
            return;
3✔
2670
          }
3✔
2671
          continue;
321✔
2672
        }
321✔
2673
        if (value._effectAsync) {
372✔
2674
          if (value.interruptable) {
264✔
2675
            let resolve!: (value: unknown) => void;
75✔
2676
            const promise = new Promise((_resolve) => (resolve = _resolve));
75✔
2677
            // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors
2678
            value.onComplete(resolve, (...args: unknown[]) => reject(...args.slice(0, 1)));
75✔
2679
            ({ done, value } = (context.interceptIterator || iterator).next({
75✔
2680
              _effectInterrupt: value.interruptable,
75✔
2681
              with: promise,
75✔
2682
            }));
75✔
2683
            continue;
75✔
2684
          } else {
264✔
2685
            // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors
2686
            value.onComplete(iterate, (...args: unknown[]) => reject(...args.slice(0, 1)));
189✔
2687
            return;
189✔
2688
          }
189✔
2689
        }
264✔
2690
        reject(
3✔
2691
          new Error(
3✔
2692
            `Invalid effected program: an effected program should yield only effects (received ${stringify(value)})`,
3✔
2693
          ),
3✔
2694
        );
3✔
2695
        return;
3✔
2696
      }
3✔
2697

2698
      resolve(value);
126✔
2699
    };
348✔
2700

2701
    iterate();
162✔
2702
  });
162✔
2703
}
162✔
2704

2705
/*********************
2706
 * Utility functions *
2707
 *********************/
2708
/**
2709
 * Handle an effect with a handler.
2710
 * @param context The context.
2711
 * @param effect The effect to handle.
2712
 * @param handler The handler for the effect.
2713
 * @returns
2714
 */
2715
const handleEffect = <E extends Effect, R>(
3✔
2716
  context: {
1,527✔
2717
    terminated: false | "with-value" | "without-value";
2718
    terminatedValue: R | undefined;
2719
    interceptIterator: Iterator<E, R, unknown> | null;
2720
  },
2721

2722
  effectName: string | symbol | ((...args: never) => unknown),
1,527✔
2723
  effect: E,
1,527✔
2724
  handler: (
1,527✔
2725
    {
2726
      effect,
2727
      resume,
2728
      terminate,
2729
    }: {
2730
      effect: Effect;
2731
      resume: (value: R) => void;
2732
      terminate: (value: R) => void;
2733
    },
2734
    ...payloads: unknown[]
2735
  ) => void | Generator<Effect, void, unknown> | Effected<Effect, void>,
2736
): IteratorResult<E, R> => {
1,527✔
2737
  let resumed: false | "with-value" | "without-value" = false;
1,527✔
2738
  let resumedValue: R;
1,527✔
2739
  let onComplete: ((...args: [] | [R]) => void) | null = null;
1,527✔
2740
  const warnMultipleHandling = (type: "resume" | "terminate", ...args: [] | [R]) => {
1,527✔
2741
    let message = `Effect ${stringifyEffectNameQuoted(effectName)} has been handled multiple times`;
18✔
2742
    message += " (received `";
18✔
2743
    message += `${type} ${stringifyEffect(effect)}`;
18✔
2744
    if (args.length > 0) message += ` with ${stringify(args[0])}`;
18✔
2745
    message += "` after it has been ";
18✔
2746
    if (resumed) {
18✔
2747
      message += "resumed";
12✔
2748
      if (resumed === "with-value") message += ` with ${stringify(resumedValue)}`;
12✔
2749
    } else if (context.terminated) {
18✔
2750
      message += "terminated";
6✔
2751
      if (context.terminated === "with-value")
6✔
2752
        message += ` with ${stringify(context.terminatedValue)}`;
6✔
2753
    }
6✔
2754
    message += "). Only the first handler will be used.";
18✔
2755
    logger.warn(message);
18✔
2756
  };
18✔
2757
  const resume = (...args: [] | [R]) => {
1,527✔
2758
    if (resumed || context.terminated) {
1,359✔
2759
      warnMultipleHandling("resume", ...args);
12✔
2760
      return;
12✔
2761
    }
12✔
2762
    resumed = args.length > 0 ? "with-value" : "without-value";
1,359✔
2763
    if (args.length > 0) resumedValue = args[0]!;
1,359✔
2764
    if (onComplete) {
1,359✔
2765
      onComplete(...args);
162✔
2766
      onComplete = null;
162✔
2767
    }
162✔
2768
  };
1,359✔
2769
  const terminate = (...args: [] | [R]) => {
1,527✔
2770
    if (resumed || context.terminated) {
120✔
2771
      warnMultipleHandling("terminate", ...args);
6✔
2772
      return;
6✔
2773
    }
6✔
2774
    context.terminated = args.length > 0 ? "with-value" : "without-value";
120✔
2775
    if (args.length > 0) context.terminatedValue = args[0];
120✔
2776
    if (onComplete) {
120✔
2777
      onComplete(...args);
6✔
2778
      onComplete = null;
6✔
2779
    }
6✔
2780
  };
120✔
2781

2782
  const constructHandledEffect = ():
1,527✔
2783
    | { _effectSync: true; value?: unknown }
2784
    | {
2785
        _effectAsync: true;
2786
        onComplete: (callback: (...args: [] | [R]) => void) => void;
2787
      } => {
1,461✔
2788
    // For synchronous effects
2789
    if (resumed || context.terminated)
1,461✔
2790
      return {
1,461✔
2791
        _effectSync: true,
1,290✔
2792
        ...(Object.is(resumed, "with-value") ? { value: resumedValue! }
1,290✔
2793
        : Object.is(context.terminated, "with-value") ? { value: context.terminatedValue! }
273✔
2794
        : {}),
171✔
2795
      };
1,290✔
2796
    // For asynchronous effects
2797
    const handledEffect: ReturnType<typeof constructHandledEffect> = {
171✔
2798
      _effectAsync: true,
171✔
2799
      onComplete: (callback) => {
171✔
2800
        onComplete = callback;
168✔
2801
      },
168✔
2802
    };
171✔
2803
    if ((effect as any).interruptable)
171✔
2804
      (handledEffect as any).interruptable = (effect as any).interruptable;
1,197✔
2805
    return handledEffect;
171✔
2806
  };
1,461✔
2807

2808
  const handlerResult = handler(
1,527✔
2809
    {
1,527✔
2810
      effect,
1,527✔
2811
      resume:
1,527✔
2812
        (effect as any).resumable === false ?
1,527✔
2813
          () => {
111✔
2814
            throw new Error(`Cannot resume non-resumable effect: ${stringifyEffect(effect)}`);
9✔
2815
          }
9✔
2816
        : resume,
1,416✔
2817
      terminate,
1,527✔
2818
    },
1,527✔
2819
    ...effect.payloads,
1,527✔
2820
  );
1,527✔
2821

2822
  if (
1,527✔
2823
    !(handlerResult instanceof Effected) &&
1,527✔
2824
    !isGenerator(handlerResult) &&
1,443✔
2825
    !isEffectedIterator(handlerResult)
1,356✔
2826
  )
2827
    return { done: false, value: constructHandledEffect() } as never;
1,527✔
2828

2829
  const iter = Symbol.iterator in handlerResult ? handlerResult[Symbol.iterator]() : handlerResult;
1,527✔
2830
  context.interceptIterator = {
1,527✔
2831
    next: (...args: [] | [unknown]) => {
1,527✔
2832
      const result = iter.next(...args);
330✔
2833
      if (result.done) {
330✔
2834
        context.interceptIterator = null;
156✔
2835
        return { done: false, value: constructHandledEffect() } as never;
156✔
2836
      }
156✔
2837
      return result as never;
174✔
2838
    },
330✔
2839
  };
1,527✔
2840
  return context.interceptIterator.next();
1,527✔
2841
};
1,527✔
2842

2843
/**
2844
 * Check if a value is a {@link Generator}.
2845
 * @param value The value to check.
2846
 * @returns
2847
 */
2848
const isGenerator = (value: unknown): value is Generator =>
3✔
2849
  Object.prototype.toString.call(value) === "[object Generator]";
3,318✔
2850

2851
/**
2852
 * Check if a value is an `EffectedIterator` (i.e., an {@link Iterator} with an `_effectedIterator`
2853
 * property set to `true`).
2854
 *
2855
 * This is only used internally as an alternative to generators to reduce the overhead of creating
2856
 * generator functions.
2857
 * @param value The value to check.
2858
 * @returns
2859
 */
2860
const isEffectedIterator = (
3✔
2861
  value: unknown,
2,025✔
2862
): value is Iterator<Effect, unknown, unknown> & { _effectedIterator: true } =>
2863
  typeof value === "object" && value !== null && (value as any)._effectedIterator === true;
2,025✔
2864

2865
/**
2866
 * Capitalize the first letter of a string.
2867
 * @param str The string to capitalize.
2868
 * @returns
2869
 */
2870
const capitalize = (str: string) => {
3✔
2871
  if (str.length === 0) return str;
147!
2872
  return str[0]!.toUpperCase() + str.slice(1);
147✔
2873
};
147✔
2874

2875
/**
2876
 * Change the name of a function for better debugging experience.
2877
 * @param fn The function to rename.
2878
 * @param name The new name of the function.
2879
 * @returns
2880
 */
2881
const renameFunction = <F extends (...args: never) => unknown>(fn: F, name: string): F =>
3✔
2882
  Object.defineProperty(fn, "name", {
876✔
2883
    value: name,
876✔
2884
    writable: false,
876✔
2885
    enumerable: false,
876✔
2886
    configurable: true,
876✔
2887
  });
876✔
2888

2889
const buildErrorClass = (name: string) => {
3✔
2890
  const ErrorClass = class extends Error {};
36✔
2891
  let errorName = capitalize(name);
36✔
2892
  if (!errorName.endsWith("Error") && !errorName.endsWith("error")) errorName += "Error";
36✔
2893
  Object.defineProperty(ErrorClass, "name", {
36✔
2894
    value: errorName,
36✔
2895
    writable: false,
36✔
2896
    enumerable: false,
36✔
2897
    configurable: true,
36✔
2898
  });
36✔
2899
  Object.defineProperty(ErrorClass.prototype, "name", {
36✔
2900
    value: errorName,
36✔
2901
    writable: true,
36✔
2902
    enumerable: false,
36✔
2903
    configurable: true,
36✔
2904
  });
36✔
2905
  return ErrorClass;
36✔
2906
};
36✔
2907

2908
const stringifyEffectName = (name: string | symbol | ((...args: never) => unknown)) =>
3✔
2909
  typeof name === "string" ? name
159✔
2910
  : typeof name === "symbol" ? name.toString()
9✔
2911
  : "[" + name.name + "]";
3✔
2912

2913
const stringifyEffectNameQuoted = (name: string | symbol | ((...args: never) => unknown)) =>
3✔
2914
  typeof name === "string" ? `"${name}"` : stringifyEffectName(name);
18✔
2915

2916
const stringifyEffect = (effect: Effect) =>
3✔
2917
  `${stringifyEffectName(effect.name)}(${effect.payloads.map(stringify).join(", ")})`;
153✔
2918

2919
/**
2920
 * Stringify an object to provide better debugging experience, handling common cases that simple
2921
 * `JSON.stringify` does not handle, e.g., `undefined`, `bigint`, `function`, `symbol`, `Date`.
2922
 * Circular references are considered.
2923
 *
2924
 * This is a simple port of the [showify](https://github.com/Snowflyt/showify/blob/7759b8778d54f686c85eba4d88b2dac2afdbcdd6/packages/lite/src/index.ts)
2925
 * package, which is a library for stringifying objects in a human-readable way.
2926
 * @param x The object to stringify.
2927
 * @returns
2928
 */
2929
const stringify = (x: unknown): string => {
3✔
2930
  const seen = new WeakSet();
180✔
2931
  const identifierRegex = /^[A-Za-z_$][A-Za-z0-9_$]*$/;
180✔
2932

2933
  const serialize = (value: unknown): string => {
180✔
2934
    if (typeof value === "bigint") return `${value as any}n`;
318✔
2935
    if (typeof value === "function")
315✔
2936
      return value.name ? `[Function: ${value.name}]` : "[Function (anonymous)]";
318✔
2937
    if (typeof value === "symbol") return value.toString();
318✔
2938
    if (value === undefined) return "undefined";
318✔
2939
    if (value === null) return "null";
318✔
2940

2941
    if (typeof value === "object") {
318✔
2942
      if (seen.has(value)) return "[Circular]";
90✔
2943
      seen.add(value);
84✔
2944

2945
      // Handle special object types
2946
      if (value instanceof Date) return value.toISOString();
90✔
2947

2948
      if (value instanceof RegExp) return value.toString();
90✔
2949

2950
      if (value instanceof Map) {
90✔
2951
        const entries = Array.from(value.entries())
9✔
2952
          .map(([k, v]) => `${serialize(k)} => ${serialize(v)}`)
9✔
2953
          .join(", ");
9✔
2954
        return `Map(${value.size}) ` + (entries ? `{ ${entries} }` : "{}");
9✔
2955
      }
9✔
2956

2957
      if (value instanceof Set) {
90✔
2958
        const values = Array.from(value)
9✔
2959
          .map((v) => serialize(v))
9✔
2960
          .join(", ");
9✔
2961
        return `Set(${value.size}) ` + (values ? `{ ${values} }` : "{}");
9✔
2962
      }
9✔
2963

2964
      // Handle arrays and objects
2965
      const isClassInstance =
57✔
2966
        // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
2967
        value.constructor && value.constructor.name && value.constructor.name !== "Object";
90✔
2968
      const className = isClassInstance ? value.constructor.name : "";
90✔
2969

2970
      if (Array.isArray(value)) {
90✔
2971
        const arrayItems = value.map((item) => serialize(item)).join(", ");
15✔
2972
        let result = `[${arrayItems}]`;
15✔
2973
        if (className !== "Array") result = `${className}(${value.length}) ${result}`;
15✔
2974
        return result;
15✔
2975
      }
15✔
2976

2977
      const objectEntries = Reflect.ownKeys(value)
42✔
2978
        .map((key) => {
42✔
2979
          const keyDisplay =
66✔
2980
            typeof key === "symbol" ? `[${key.toString()}]`
66✔
2981
            : identifierRegex.test(key) ? key
60✔
2982
            : JSON.stringify(key);
12✔
2983
          const val = (value as Record<string, unknown>)[key as any];
66✔
2984
          return `${keyDisplay}: ${serialize(val)}`;
66✔
2985
        })
42✔
2986
        .join(", ");
42✔
2987

2988
      return (className ? `${className} ` : "") + (objectEntries ? `{ ${objectEntries} }` : "{}");
90✔
2989
    }
90✔
2990

2991
    return JSON.stringify(value);
204✔
2992
  };
318✔
2993

2994
  return serialize(x);
180✔
2995
};
180✔
2996

2997
// `console` is not standard in JavaScript. Though rare, it is possible that `console` is not
2998
// available in some environments. We use a proxy to handle this case and ignore errors if `console`
2999
// is not available.
3000
const getConsole = (() => {
3✔
3001
  let cachedConsole: any = undefined;
12✔
3002
  return () => {
12✔
3003
    if (cachedConsole !== undefined) return cachedConsole;
21✔
3004
    try {
3✔
3005
      // eslint-disable-next-line @typescript-eslint/no-implied-eval
3006
      cachedConsole = new Function("return console")();
3✔
3007
    } catch {
21!
3008
      cachedConsole = null;
×
3009
    }
✔
3010
    return cachedConsole;
3✔
3011
  };
21✔
3012
})();
3✔
3013
const logger: {
3✔
3014
  debug(...data: unknown[]): void;
3015
  error(...data: unknown[]): void;
3016
  log(...data: unknown[]): void;
3017
  warn(...data: unknown[]): void;
3018
} = new Proxy({} as never, {
3✔
3019
  get:
3✔
3020
    (_, prop) =>
3✔
3021
    (...args: unknown[]) => {
21✔
3022
      try {
21✔
3023
        getConsole()[prop](...args);
21✔
3024
      } catch {
21!
3025
        // Ignore
3026
      }
×
3027
    },
21✔
3028
});
3✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc