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