export const iterate: <A, B extends A, R, E>(
initial: A,
options: {
readonly while: Refinement<A, B>
readonly body: (b: B) => Effect<R, E, B>
}
) => Effect<R, E, B>
export const iterate: <A, B extends A, R, E>(
initial: A,
options: {
readonly while: Refinement<A, B>
readonly body: (b: B) => Effect<R, E, B>
}
) => Effect<R, E, B>