effect 3.0.3 → 3.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/dist/cjs/Cause.js.map +1 -1
  2. package/dist/cjs/Chunk.js +1 -1
  3. package/dist/cjs/Chunk.js.map +1 -1
  4. package/dist/cjs/Effect.js.map +1 -1
  5. package/dist/cjs/Either.js +4 -6
  6. package/dist/cjs/Either.js.map +1 -1
  7. package/dist/cjs/Option.js +3 -5
  8. package/dist/cjs/Option.js.map +1 -1
  9. package/dist/cjs/Order.js +15 -0
  10. package/dist/cjs/Order.js.map +1 -1
  11. package/dist/cjs/STM.js.map +1 -1
  12. package/dist/cjs/Utils.js +2 -4
  13. package/dist/cjs/Utils.js.map +1 -1
  14. package/dist/cjs/internal/core-effect.js +3 -21
  15. package/dist/cjs/internal/core-effect.js.map +1 -1
  16. package/dist/cjs/internal/core.js +10 -0
  17. package/dist/cjs/internal/core.js.map +1 -1
  18. package/dist/cjs/internal/effectable.js +4 -0
  19. package/dist/cjs/internal/effectable.js.map +1 -1
  20. package/dist/cjs/internal/fiberRuntime.js +3 -3
  21. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  22. package/dist/cjs/internal/rateLimiter.js +1 -1
  23. package/dist/cjs/internal/rateLimiter.js.map +1 -1
  24. package/dist/cjs/internal/stm/core.js +4 -0
  25. package/dist/cjs/internal/stm/core.js.map +1 -1
  26. package/dist/cjs/internal/stm/stm.js +3 -21
  27. package/dist/cjs/internal/stm/stm.js.map +1 -1
  28. package/dist/cjs/internal/version.js +1 -1
  29. package/dist/dts/Cause.d.ts +1 -0
  30. package/dist/dts/Cause.d.ts.map +1 -1
  31. package/dist/dts/Chunk.d.ts.map +1 -1
  32. package/dist/dts/Effect.d.ts +48 -40
  33. package/dist/dts/Effect.d.ts.map +1 -1
  34. package/dist/dts/Either.d.ts +1 -1
  35. package/dist/dts/Either.d.ts.map +1 -1
  36. package/dist/dts/Option.d.ts +1 -1
  37. package/dist/dts/Option.d.ts.map +1 -1
  38. package/dist/dts/Order.d.ts.map +1 -1
  39. package/dist/dts/STM.d.ts +25 -35
  40. package/dist/dts/STM.d.ts.map +1 -1
  41. package/dist/dts/Utils.d.ts +29 -25
  42. package/dist/dts/Utils.d.ts.map +1 -1
  43. package/dist/dts/index.d.ts +15 -0
  44. package/dist/dts/index.d.ts.map +1 -1
  45. package/dist/dts/internal/core.d.ts.map +1 -1
  46. package/dist/dts/internal/stm/stm.d.ts.map +1 -1
  47. package/dist/esm/Cause.js.map +1 -1
  48. package/dist/esm/Chunk.js +1 -1
  49. package/dist/esm/Chunk.js.map +1 -1
  50. package/dist/esm/Effect.js.map +1 -1
  51. package/dist/esm/Either.js +4 -6
  52. package/dist/esm/Either.js.map +1 -1
  53. package/dist/esm/Option.js +4 -6
  54. package/dist/esm/Option.js.map +1 -1
  55. package/dist/esm/Order.js +15 -0
  56. package/dist/esm/Order.js.map +1 -1
  57. package/dist/esm/STM.js.map +1 -1
  58. package/dist/esm/Utils.js +2 -4
  59. package/dist/esm/Utils.js.map +1 -1
  60. package/dist/esm/index.js +15 -0
  61. package/dist/esm/index.js.map +1 -1
  62. package/dist/esm/internal/core-effect.js +2 -20
  63. package/dist/esm/internal/core-effect.js.map +1 -1
  64. package/dist/esm/internal/core.js +10 -0
  65. package/dist/esm/internal/core.js.map +1 -1
  66. package/dist/esm/internal/effectable.js +4 -0
  67. package/dist/esm/internal/effectable.js.map +1 -1
  68. package/dist/esm/internal/fiberRuntime.js +3 -3
  69. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  70. package/dist/esm/internal/rateLimiter.js +1 -1
  71. package/dist/esm/internal/rateLimiter.js.map +1 -1
  72. package/dist/esm/internal/stm/core.js +4 -0
  73. package/dist/esm/internal/stm/core.js.map +1 -1
  74. package/dist/esm/internal/stm/stm.js +2 -20
  75. package/dist/esm/internal/stm/stm.js.map +1 -1
  76. package/dist/esm/internal/version.js +1 -1
  77. package/package.json +1 -1
  78. package/src/Cause.ts +1 -0
  79. package/src/Chunk.ts +1 -2
  80. package/src/Effect.ts +61 -48
  81. package/src/Either.ts +6 -8
  82. package/src/Option.ts +6 -8
  83. package/src/Order.ts +15 -0
  84. package/src/STM.ts +26 -37
  85. package/src/Utils.ts +32 -29
  86. package/src/index.ts +15 -0
  87. package/src/internal/core-effect.ts +2 -23
  88. package/src/internal/core.ts +10 -0
  89. package/src/internal/effectable.ts +4 -0
  90. package/src/internal/fiberRuntime.ts +19 -8
  91. package/src/internal/rateLimiter.ts +1 -1
  92. package/src/internal/stm/core.ts +4 -0
  93. package/src/internal/stm/stm.ts +2 -22
  94. package/src/internal/version.ts +1 -1
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * @since 2.0.0
3
3
  */
4
+ import type * as RA from "./Array.js";
4
5
  import type * as Cause from "./Cause.js";
5
6
  import type * as Chunk from "./Chunk.js";
6
7
  import type * as Clock from "./Clock.js";
@@ -75,6 +76,14 @@ export interface Effect<out A, out E = never, out R = never> extends Effect.Vari
75
76
  readonly [Unify.typeSymbol]?: unknown;
76
77
  readonly [Unify.unifySymbol]?: EffectUnify<this>;
77
78
  readonly [Unify.ignoreSymbol]?: EffectUnifyIgnore;
79
+ [Symbol.iterator](): EffectGenerator<Effect<A, E, R>>;
80
+ }
81
+ /**
82
+ * @since 3.0.0
83
+ * @category models
84
+ */
85
+ export interface EffectGenerator<T extends Effect<any, any, any>> {
86
+ next(...args: ReadonlyArray<any>): IteratorResult<T, Effect.Success<T>>;
78
87
  }
79
88
  /**
80
89
  * @since 2.0.0
@@ -116,6 +125,7 @@ export interface Blocked<out A, out E> extends Effect<A, E> {
116
125
  */
117
126
  declare module "./Context.js" {
118
127
  interface Tag<Id, Value> extends Effect<Value, never, Id> {
128
+ [Symbol.iterator](): EffectGenerator<Tag<Id, Value>>;
119
129
  }
120
130
  interface TagUnifyIgnore {
121
131
  Effect?: true;
@@ -130,9 +140,11 @@ declare module "./Context.js" {
130
140
  declare module "./Either.js" {
131
141
  interface Left<L, R> extends Effect<R, L> {
132
142
  readonly _tag: "Left";
143
+ [Symbol.iterator](): EffectGenerator<Left<L, R>>;
133
144
  }
134
145
  interface Right<L, R> extends Effect<R, L> {
135
146
  readonly _tag: "Right";
147
+ [Symbol.iterator](): EffectGenerator<Right<L, R>>;
136
148
  }
137
149
  interface EitherUnifyIgnore {
138
150
  Effect?: true;
@@ -147,9 +159,11 @@ declare module "./Either.js" {
147
159
  declare module "./Option.js" {
148
160
  interface None<A> extends Effect<A, Cause.NoSuchElementException> {
149
161
  readonly _tag: "None";
162
+ [Symbol.iterator](): EffectGenerator<None<A>>;
150
163
  }
151
164
  interface Some<A> extends Effect<A, Cause.NoSuchElementException> {
152
165
  readonly _tag: "Some";
166
+ [Symbol.iterator](): EffectGenerator<Some<A>>;
153
167
  }
154
168
  interface OptionUnifyIgnore {
155
169
  Effect?: true;
@@ -502,16 +516,21 @@ export declare const firstSuccessOf: <Eff extends Effect<any, any, any>>(effects
502
516
  * @category collecting & elements
503
517
  */
504
518
  export declare const forEach: {
505
- <A, B, E, R>(f: (a: A, i: number) => Effect<B, E, R>, options?: {
519
+ <B, E, R, S extends Iterable<any>>(f: (a: RA.ReadonlyArray.Infer<S>, i: number) => Effect<B, E, R>, options?: {
506
520
  readonly concurrency?: Concurrency | undefined;
507
521
  readonly batching?: boolean | "inherit" | undefined;
508
522
  readonly discard?: false | undefined;
509
- } | undefined): (self: Iterable<A>) => Effect<Array<B>, E, R>;
523
+ } | undefined): (self: S) => Effect<RA.ReadonlyArray.With<S, B>, E, R>;
510
524
  <A, B, E, R>(f: (a: A, i: number) => Effect<B, E, R>, options: {
511
525
  readonly concurrency?: Concurrency | undefined;
512
526
  readonly batching?: boolean | "inherit" | undefined;
513
527
  readonly discard: true;
514
528
  }): (self: Iterable<A>) => Effect<void, E, R>;
529
+ <A, B, E, R>(self: RA.NonEmptyReadonlyArray<A>, f: (a: A, i: number) => Effect<B, E, R>, options?: {
530
+ readonly concurrency?: Concurrency | undefined;
531
+ readonly batching?: boolean | "inherit" | undefined;
532
+ readonly discard?: false | undefined;
533
+ } | undefined): Effect<RA.NonEmptyArray<B>, E, R>;
515
534
  <A, B, E, R>(self: Iterable<A>, f: (a: A, i: number) => Effect<B, E, R>, options?: {
516
535
  readonly concurrency?: Concurrency | undefined;
517
536
  readonly batching?: boolean | "inherit" | undefined;
@@ -850,54 +869,43 @@ export declare const dieSync: (evaluate: LazyArg<unknown>) => Effect<never>;
850
869
  * @category constructors
851
870
  */
852
871
  export declare const gen: {
853
- <Eff extends EffectGen<any, any, any>, AEff>(f: (resume: Adapter) => Generator<Eff, AEff, any>): Effect<AEff, [
872
+ <Eff extends Effect<any, any, any>, AEff>(f: (resume: Adapter) => Generator<Eff, AEff, never>): Effect<AEff, [
854
873
  Eff
855
- ] extends [never] ? never : [Eff] extends [EffectGen<any, infer E, any>] ? E : never, [
874
+ ] extends [never] ? never : [Eff] extends [Effect<infer _A, infer E, infer _R>] ? E : never, [
856
875
  Eff
857
- ] extends [never] ? never : [Eff] extends [EffectGen<any, any, infer R>] ? R : never>;
858
- <Self, Eff extends EffectGen<any, any, any>, AEff>(self: Self, f: (this: Self, resume: Adapter) => Generator<Eff, AEff, any>): Effect<AEff, [
876
+ ] extends [never] ? never : [Eff] extends [Effect<infer _A, infer _E, infer R>] ? R : never>;
877
+ <Self, Eff extends Effect<any, any, any>, AEff>(self: Self, f: (this: Self, resume: Adapter) => Generator<Eff, AEff, never>): Effect<AEff, [
859
878
  Eff
860
- ] extends [never] ? never : [Eff] extends [EffectGen<any, infer E, any>] ? E : never, [
879
+ ] extends [never] ? never : [Eff] extends [Effect<infer _A, infer E, infer _R>] ? E : never, [
861
880
  Eff
862
- ] extends [never] ? never : [Eff] extends [EffectGen<any, any, infer R>] ? R : never>;
881
+ ] extends [never] ? never : [Eff] extends [Effect<infer _A, infer _E, infer R>] ? R : never>;
863
882
  };
864
- /**
865
- * @category models
866
- * @since 2.0.0
867
- */
868
- export interface EffectGen<out A, out E, out R> {
869
- readonly _A: () => A;
870
- readonly _E: () => E;
871
- readonly _R: () => R;
872
- readonly value: Effect<A, E, R>;
873
- [Symbol.iterator](): Generator<EffectGen<A, E, R>, A>;
874
- }
875
883
  /**
876
884
  * @since 2.0.0
877
885
  * @category models
878
886
  */
879
887
  export interface Adapter {
880
- <A, E, R>(self: Effect<A, E, R>): EffectGen<A, E, R>;
881
- <A, _A, _E, _R>(a: A, ab: (a: A) => Effect<_A, _E, _R>): EffectGen<_A, _E, _R>;
882
- <A, B, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => Effect<_A, _E, _R>): EffectGen<_A, _E, _R>;
883
- <A, B, C, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => Effect<_A, _E, _R>): EffectGen<_A, _E, _R>;
884
- <A, B, C, D, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => Effect<_A, _E, _R>): EffectGen<_A, _E, _R>;
885
- <A, B, C, D, E, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => Effect<_A, _E, _R>): EffectGen<_A, _E, _R>;
886
- <A, B, C, D, E, F, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => Effect<_A, _E, _R>): EffectGen<_A, _E, _R>;
887
- <A, B, C, D, E, F, G, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => Effect<_A, _E, _R>): EffectGen<_A, _E, _R>;
888
- <A, B, C, D, E, F, G, H, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (g: H) => Effect<_A, _E, _R>): EffectGen<_A, _E, _R>;
889
- <A, B, C, D, E, F, G, H, I, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => Effect<_A, _E, _R>): EffectGen<_A, _E, _R>;
890
- <A, B, C, D, E, F, G, H, I, J, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => Effect<_A, _E, _R>): EffectGen<_A, _E, _R>;
891
- <A, B, C, D, E, F, G, H, I, J, K, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => K, kl: (k: K) => Effect<_A, _E, _R>): EffectGen<_A, _E, _R>;
892
- <A, B, C, D, E, F, G, H, I, J, K, L, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => K, kl: (k: K) => L, lm: (l: L) => Effect<_A, _E, _R>): EffectGen<_A, _E, _R>;
893
- <A, B, C, D, E, F, G, H, I, J, K, L, M, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => K, kl: (k: K) => L, lm: (l: L) => M, mn: (m: M) => Effect<_A, _E, _R>): EffectGen<_A, _E, _R>;
894
- <A, B, C, D, E, F, G, H, I, J, K, L, M, N, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => K, kl: (k: K) => L, lm: (l: L) => M, mn: (m: M) => N, no: (n: N) => Effect<_A, _E, _R>): EffectGen<_A, _E, _R>;
895
- <A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => K, kl: (k: K) => L, lm: (l: L) => M, mn: (m: M) => N, no: (n: N) => O, op: (o: O) => Effect<_A, _E, _R>): EffectGen<_A, _E, _R>;
896
- <A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => K, kl: (k: K) => L, lm: (l: L) => M, mn: (m: M) => N, no: (n: N) => O, op: (o: O) => P, pq: (p: P) => Effect<_A, _E, _R>): EffectGen<_A, _E, _R>;
897
- <A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => K, kl: (k: K) => L, lm: (l: L) => M, mn: (m: M) => N, no: (n: N) => O, op: (o: O) => P, pq: (p: P) => Q, qr: (q: Q) => Effect<_A, _E, _R>): EffectGen<_A, _E, _R>;
898
- <A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => K, kl: (k: K) => L, lm: (l: L) => M, mn: (m: M) => N, no: (n: N) => O, op: (o: O) => P, pq: (p: P) => Q, qr: (q: Q) => R, rs: (r: R) => Effect<_A, _E, _R>): EffectGen<_A, _E, _R>;
899
- <A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => K, kl: (k: K) => L, lm: (l: L) => M, mn: (m: M) => N, no: (n: N) => O, op: (o: O) => P, pq: (p: P) => Q, qr: (q: Q) => R, rs: (r: R) => S, st: (s: S) => Effect<_A, _E, _R>): EffectGen<_A, _E, _R>;
900
- <A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => K, kl: (k: K) => L, lm: (l: L) => M, mn: (m: M) => N, no: (n: N) => O, op: (o: O) => P, pq: (p: P) => Q, qr: (q: Q) => R, rs: (r: R) => S, st: (s: S) => T, tu: (s: T) => Effect<_A, _E, _R>): EffectGen<_A, _E, _R>;
888
+ <A, E, R>(self: Effect<A, E, R>): Effect<A, E, R>;
889
+ <A, _A, _E, _R>(a: A, ab: (a: A) => Effect<_A, _E, _R>): Effect<_A, _E, _R>;
890
+ <A, B, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => Effect<_A, _E, _R>): Effect<_A, _E, _R>;
891
+ <A, B, C, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => Effect<_A, _E, _R>): Effect<_A, _E, _R>;
892
+ <A, B, C, D, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => Effect<_A, _E, _R>): Effect<_A, _E, _R>;
893
+ <A, B, C, D, E, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => Effect<_A, _E, _R>): Effect<_A, _E, _R>;
894
+ <A, B, C, D, E, F, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => Effect<_A, _E, _R>): Effect<_A, _E, _R>;
895
+ <A, B, C, D, E, F, G, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => Effect<_A, _E, _R>): Effect<_A, _E, _R>;
896
+ <A, B, C, D, E, F, G, H, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (g: H) => Effect<_A, _E, _R>): Effect<_A, _E, _R>;
897
+ <A, B, C, D, E, F, G, H, I, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => Effect<_A, _E, _R>): Effect<_A, _E, _R>;
898
+ <A, B, C, D, E, F, G, H, I, J, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => Effect<_A, _E, _R>): Effect<_A, _E, _R>;
899
+ <A, B, C, D, E, F, G, H, I, J, K, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => K, kl: (k: K) => Effect<_A, _E, _R>): Effect<_A, _E, _R>;
900
+ <A, B, C, D, E, F, G, H, I, J, K, L, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => K, kl: (k: K) => L, lm: (l: L) => Effect<_A, _E, _R>): Effect<_A, _E, _R>;
901
+ <A, B, C, D, E, F, G, H, I, J, K, L, M, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => K, kl: (k: K) => L, lm: (l: L) => M, mn: (m: M) => Effect<_A, _E, _R>): Effect<_A, _E, _R>;
902
+ <A, B, C, D, E, F, G, H, I, J, K, L, M, N, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => K, kl: (k: K) => L, lm: (l: L) => M, mn: (m: M) => N, no: (n: N) => Effect<_A, _E, _R>): Effect<_A, _E, _R>;
903
+ <A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => K, kl: (k: K) => L, lm: (l: L) => M, mn: (m: M) => N, no: (n: N) => O, op: (o: O) => Effect<_A, _E, _R>): Effect<_A, _E, _R>;
904
+ <A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => K, kl: (k: K) => L, lm: (l: L) => M, mn: (m: M) => N, no: (n: N) => O, op: (o: O) => P, pq: (p: P) => Effect<_A, _E, _R>): Effect<_A, _E, _R>;
905
+ <A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => K, kl: (k: K) => L, lm: (l: L) => M, mn: (m: M) => N, no: (n: N) => O, op: (o: O) => P, pq: (p: P) => Q, qr: (q: Q) => Effect<_A, _E, _R>): Effect<_A, _E, _R>;
906
+ <A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => K, kl: (k: K) => L, lm: (l: L) => M, mn: (m: M) => N, no: (n: N) => O, op: (o: O) => P, pq: (p: P) => Q, qr: (q: Q) => R, rs: (r: R) => Effect<_A, _E, _R>): Effect<_A, _E, _R>;
907
+ <A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => K, kl: (k: K) => L, lm: (l: L) => M, mn: (m: M) => N, no: (n: N) => O, op: (o: O) => P, pq: (p: P) => Q, qr: (q: Q) => R, rs: (r: R) => S, st: (s: S) => Effect<_A, _E, _R>): Effect<_A, _E, _R>;
908
+ <A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => C, cd: (c: C) => D, de: (d: D) => E, ef: (e: E) => F, fg: (f: F) => G, gh: (g: G) => H, hi: (h: H) => I, ij: (i: I) => J, jk: (j: J) => K, kl: (k: K) => L, lm: (l: L) => M, mn: (m: M) => N, no: (n: N) => O, op: (o: O) => P, pq: (p: P) => Q, qr: (q: Q) => R, rs: (r: R) => S, st: (s: S) => T, tu: (s: T) => Effect<_A, _E, _R>): Effect<_A, _E, _R>;
901
909
  }
902
910
  /**
903
911
  * Returns a effect that will never produce anything. The moral equivalent of