private Value evalImpl(Env env, boolean isRef)
private Value evalImpl(Env env, boolean isRef, boolean isCopy)
  private Value evalImpl(Env env, boolean isRef)    throws Throwable  {    env.pushCall(this);        try {      env.checkTimeout();            // System.out.println("EVAL: " + getLocation() + " " + _name);          AbstractFunction fun = env.findFunction(_name);      if (fun == null) {	env.error(L.l("'{0}' is an unknown function.", _name));	return NullValue.NULL;      }	      Expr []fullArgs = fun.bindArguments(env, this, _args);      if (fullArgs == null)	return NullValue.NULL;      else if (isRef)	return fun.evalRef(env, fullArgs);      else	return fun.eval(env, fullArgs);    } finally {      env.popCall();    }  }