message: WIP: Fix retry
diff: @@ -10,12 +10,12 @@ import { map_ } from "./map_"
  import { succeedNow } from "./succeedNow"
  import { suspend } from "./suspend"
  -export const retryOrElseEither_ = <S, R, E, A, S1, R1, ST, O, S2, R2, E2, A2>(
  +export const retryOrElseEither_ = <S, R, E, A, S1, R1, O, S2, R2, E2, A2>(
  self: Effect<S, R, E, A>,
  - policy: Schedule<S1, R1, ST, E, O>,
  + policy: Schedule<S1, R1, E, O>,
  orElse: (e: E, o: O) => Effect<S2, R2, E2, A2>
  ): Effect<S | S1 | S2, R & R1 & R2, E2, E.Either<A2, A>> => {
  - const loop = (state: ST): Effect<S | S1 | S2, R & R1 & R2, E2, E.Either<A2, A>> =>
  + const loop = (state: any): Effect<S | S1 | S2, R & R1 & R2, E2, E.Either<A2, A>> =>
  foldM_(
  self,
  (err) =>
  @@ -30,22 +30,18 @@ export const retryOrElseEither_ = <S, R, E, A, S1, R1, ST, O, S2, R2, E2, A2>(
  return chain_(policy.initial, loop)
  }
  -export const retryOrElse_ = <S, R, E, A, S1, R1, ST, O, S2, R2, E2, A2>(
  +export const retryOrElse_ = <S, R, E, A, S1, R1, O, S2, R2, E2, A2>(
  self: Effect<S, R, E, A>,
  - policy: Schedule<S1, R1, ST, E, O>,
  + policy: Schedule<S1, R1, E, O>,
  orElse: (e: E, o: O) => Effect<S2, R2, E2, A2>
  ): Effect<S | S1 | S2, R & R1 & R2, E2, A | A2> =>
  map_(retryOrElseEither_(self, policy, orElse), E.fold(identity, identity))
  export const retry_ = <S, R, E, A, S1, R1, ST, O>(
  self: Effect<S, R, E, A>,
  - policy: Schedule<S1, R1, ST, E, O>
  + policy: Schedule<S1, R1, E, O>
  ): Effect<S | S1, R & R1, E, A> => retryOrElse_(self, policy, (e, _) => fail(e))
  -export const retry = <S1, R1, E, ST, O>(policy: Schedule<S1, R1, ST, E, O>) => <
  - S,
  - R,
  - A
  ->(
  +export const retry = <S1, R1, E, ST, O>(policy: Schedule<S1, R1, E, O>) => <S, R, A>(
  self: Effect<S, R, E, A>
  ): Effect<S | S1, R & R1, E, A> => retry_(self, policy)
  