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