repeatOrElseEither

abstract suspend fun <C> repeatOrElseEither(fa: suspend () -> Input, orElse: suspend (Throwable, Output?) -> C): <ERROR CLASS><C, Output>