effect 3.0.3 → 3.0.4

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 +43 -38
  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 +46 -41
  81. package/src/Either.ts +5 -7
  82. package/src/Option.ts +5 -7
  83. package/src/Order.ts +15 -0
  84. package/src/STM.ts +25 -36
  85. package/src/Utils.ts +31 -28
  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 +3 -3
  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
@@ -75,6 +75,17 @@ export interface Effect<out A, out E = never, out R = never> extends Effect.Vari
75
75
  readonly [Unify.typeSymbol]?: unknown;
76
76
  readonly [Unify.unifySymbol]?: EffectUnify<this>;
77
77
  readonly [Unify.ignoreSymbol]?: EffectUnifyIgnore;
78
+ [Symbol.iterator](): EffectGenerator<Effect<A, E, R>>;
79
+ }
80
+ /**
81
+ * @since 3.0.0
82
+ * @category models
83
+ */
84
+ export interface EffectGenerator<Eff extends Effect<any, any, any>> {
85
+ next(...args: ReadonlyArray<any>): IteratorResult<Eff, Effect.Success<Eff>>;
86
+ return(value: Effect.Success<Eff>): IteratorResult<Eff, Effect.Success<Eff>>;
87
+ throw(e: any): IteratorResult<Eff, Effect.Success<Eff>>;
88
+ [Symbol.iterator](): EffectGenerator<Eff>;
78
89
  }
79
90
  /**
80
91
  * @since 2.0.0
@@ -116,6 +127,7 @@ export interface Blocked<out A, out E> extends Effect<A, E> {
116
127
  */
117
128
  declare module "./Context.js" {
118
129
  interface Tag<Id, Value> extends Effect<Value, never, Id> {
130
+ [Symbol.iterator](): EffectGenerator<Tag<Id, Value>>;
119
131
  }
120
132
  interface TagUnifyIgnore {
121
133
  Effect?: true;
@@ -130,9 +142,11 @@ declare module "./Context.js" {
130
142
  declare module "./Either.js" {
131
143
  interface Left<L, R> extends Effect<R, L> {
132
144
  readonly _tag: "Left";
145
+ [Symbol.iterator](): EffectGenerator<Left<L, R>>;
133
146
  }
134
147
  interface Right<L, R> extends Effect<R, L> {
135
148
  readonly _tag: "Right";
149
+ [Symbol.iterator](): EffectGenerator<Right<L, R>>;
136
150
  }
137
151
  interface EitherUnifyIgnore {
138
152
  Effect?: true;
@@ -147,9 +161,11 @@ declare module "./Either.js" {
147
161
  declare module "./Option.js" {
148
162
  interface None<A> extends Effect<A, Cause.NoSuchElementException> {
149
163
  readonly _tag: "None";
164
+ [Symbol.iterator](): EffectGenerator<None<A>>;
150
165
  }
151
166
  interface Some<A> extends Effect<A, Cause.NoSuchElementException> {
152
167
  readonly _tag: "Some";
168
+ [Symbol.iterator](): EffectGenerator<Some<A>>;
153
169
  }
154
170
  interface OptionUnifyIgnore {
155
171
  Effect?: true;
@@ -850,54 +866,43 @@ export declare const dieSync: (evaluate: LazyArg<unknown>) => Effect<never>;
850
866
  * @category constructors
851
867
  */
852
868
  export declare const gen: {
853
- <Eff extends EffectGen<any, any, any>, AEff>(f: (resume: Adapter) => Generator<Eff, AEff, any>): Effect<AEff, [
869
+ <Eff extends Effect<any, any, any>, AEff>(f: (resume: Adapter) => Generator<Eff, AEff, any>): Effect<AEff, [
854
870
  Eff
855
- ] extends [never] ? never : [Eff] extends [EffectGen<any, infer E, any>] ? E : never, [
871
+ ] extends [never] ? never : [Eff] extends [Effect<infer _A, infer E, infer _R>] ? E : never, [
856
872
  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, [
873
+ ] extends [never] ? never : [Eff] extends [Effect<infer _A, infer _E, infer R>] ? R : never>;
874
+ <Self, Eff extends Effect<any, any, any>, AEff>(self: Self, f: (this: Self, resume: Adapter) => Generator<Eff, AEff, any>): Effect<AEff, [
859
875
  Eff
860
- ] extends [never] ? never : [Eff] extends [EffectGen<any, infer E, any>] ? E : never, [
876
+ ] extends [never] ? never : [Eff] extends [Effect<infer _A, infer E, infer _R>] ? E : never, [
861
877
  Eff
862
- ] extends [never] ? never : [Eff] extends [EffectGen<any, any, infer R>] ? R : never>;
878
+ ] extends [never] ? never : [Eff] extends [Effect<infer _A, infer _E, infer R>] ? R : never>;
863
879
  };
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
880
  /**
876
881
  * @since 2.0.0
877
882
  * @category models
878
883
  */
879
884
  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>;
885
+ <A, E, R>(self: Effect<A, E, R>): Effect<A, E, R>;
886
+ <A, _A, _E, _R>(a: A, ab: (a: A) => Effect<_A, _E, _R>): Effect<_A, _E, _R>;
887
+ <A, B, _A, _E, _R>(a: A, ab: (a: A) => B, bc: (b: B) => Effect<_A, _E, _R>): Effect<_A, _E, _R>;
888
+ <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>;
889
+ <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>;
890
+ <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>;
891
+ <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>;
892
+ <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>;
893
+ <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>;
894
+ <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>;
895
+ <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>;
896
+ <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>;
897
+ <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>;
898
+ <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>;
899
+ <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>;
900
+ <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>;
901
+ <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>;
902
+ <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>;
903
+ <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>;
904
+ <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>;
905
+ <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
906
  }
902
907
  /**
903
908
  * Returns a effect that will never produce anything. The moral equivalent of