Closure c = new Closure(right.getFirst().getMapping(), first);
right = right.getRest();
left = left.getRest().push(new Operator(c));
}
} else {
if (0 == f.arity()) {
Collector<RippleList> results = new Collector<RippleList>();
// Note: synchronous evaluation is required
// Note: stack context is trivial
f.apply(left.getRest(), results, mc);
for (RippleList s : results) {