throws Throwable
  public Value eval(Env env, Value []argValues)    throws Throwable  {    switch (argValues.length) {    case 0:      return eval(env,                  _default_0.eval(env),                  _default_1.eval(env),                  _default_2.eval(env),                  _default_3.eval(env));    case 1:      return eval(env,                  argValues[0],                  _default_1.eval(env),                  _default_2.eval(env),                  _default_3.eval(env));    case 2:      return eval(env,                  argValues[0],                  argValues[1],                  _default_2.eval(env),                  _default_3.eval(env));    case 3:      return eval(env,                  argValues[0],                  argValues[1],                  argValues[2],                  _default_3.eval(env));    case 4:    default:      return eval(env,                  argValues[0],                  argValues[1],                  argValues[2],                  argValues[3]);    }  }