arrow-core / arrow.core.extensions / EvalBimonad / tailRecM
open fun <A, B> tailRecM(a: A, f: (A) -> EvalOf<Either<A, B>>): Eval<B>
Do you like Arrow?