* @return Stella_Object
   */
  public static Stella_Object coerceARestToCons(Symbol restvariable) {
    if (MethodSlot.passVariableArgumentsAsListP(((MethodSlot)(Stella.$METHODBEINGWALKED$.get())))) {
      return (Stella_Object.sysTree(Stella_Object.walkWithoutTypeTree(restvariable), MethodSlot.yieldListifiedVariableArgumentsType(((MethodSlot)(Stella.$METHODBEINGWALKED$.get()))), new Object[1]));
    }
    else {
      { Symbol argvar = Stella.localGensym("ARG");
        Symbol listvar = Stella.localGensym("ARGLIST");

        return (Cons.list$(Cons.cons(Stella.SYM_STELLA_VRLET, Cons.cons(Cons.cons(Cons.cons(listvar, Cons.cons(MethodSlot.yieldListifiedVariableArgumentsType(((MethodSlot)(Stella.$METHODBEINGWALKED$.get()))), Cons.cons(Stella.SYM_STELLA_NIL, Stella.NIL))), Stella.NIL), Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_FOREACH, Cons.cons(argvar, Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_IN, Cons.cons(restvariable, Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_COLLECT, Cons.cons(argvar, Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_INTO, Cons.cons(listvar, Cons.cons(Stella.NIL, Stella.NIL)))), Stella.NIL)))), Stella.NIL)))), Stella.NIL)))), Cons.cons(listvar, Cons.cons(Stella.NIL, Stella.NIL)))))));
      }
    }
  }