return expr.eval_cbv(cbv > 1);
} else {
// return expr.eval_loop([], eta);
return expr.eval_cbv(cbv > 1);
} else {
// return expr.eval_loop([], eta);
var to_eval = expr, res = [[], eta];
while (to_eval !== null) {
res = to_eval.eval_loop.apply(to_eval, res);
var to_eval = expr, res = [[], eta];
while (to_eval !== null) {
res = to_eval.eval_loop.apply(to_eval, res);