Recurse

trait Recurse[M[_], R, A]

Helper trait for computations which might produce several M[X] in a stack of effects.

Either we can produce an X to pass to a continuation or we're done

For the applicative case we expect to be able to traverse a list of effects and return an effect of a list of results OR completely consume the effect and return a pure list of values

class Object
trait Matchable
class Any

Value members

Abstract methods

def applicative[X, T[_] : Traverse](ms: T[M[X]]): Either[T[X], M[T[X]]]
def apply[X](m: M[X]): Either[X, Eff[R, A]]