* @param decrement
   * @return Stella_Object
   */
  public static Stella_Object _(Stella_Object place, Cons decrement) {
    { Stella_Object decr = decrement.value;

      if (!(Stella_Object.symbolP(place) ||
          Stella_Object.consP(place))) {
        if (place == null) {
          { Object old$PrintreadablyP$000 = Stella.$PRINTREADABLYp$.get();

            try {
              Native.setBooleanSpecial(Stella.$PRINTREADABLYp$, true);
              Stella.signalTranslationError();
              if (!(Stella.suppressWarningsP())) {
                Stella.printErrorContext(">> ERROR: ", Stella.STANDARD_ERROR);
                {
                  Stella.STANDARD_ERROR.nativeStream.println();
                  Stella.STANDARD_ERROR.nativeStream.println(" Missing place in `--' expression.");
                }
;
              }

            } finally {
              Stella.$PRINTREADABLYp$.set(old$PrintreadablyP$000);
            }
          }
        }
        else {
          { Object old$PrintreadablyP$001 = Stella.$PRINTREADABLYp$.get();

            try {
              Native.setBooleanSpecial(Stella.$PRINTREADABLYp$, true);
              Stella.signalTranslationError();
              if (!(Stella.suppressWarningsP())) {
                Stella.printErrorContext(">> ERROR: ", Stella.STANDARD_ERROR);
                {
                  Stella.STANDARD_ERROR.nativeStream.println();
                  Stella.STANDARD_ERROR.nativeStream.println(" Illegal place in `--' expression: `" + Stella_Object.deUglifyParseTree(place) + "'.");
                }
;
              }

            } finally {
              Stella.$PRINTREADABLYp$.set(old$PrintreadablyP$001);
            }
          }
        }
        return (Stella.NIL);
      }
      if (decr == null) {
        decr = Stella.ONE_WRAPPER;
      }
      return ((Stella_Object.symbolP(place) ? Cons.list$(Cons.cons(Stella.SYM_STELLA_SETQ, Cons.cons(place, Cons.cons(Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA__, Cons.cons(place, Cons.cons(Cons.cons(decr, Stella.NIL), Stella.NIL)))), Stella.NIL), Stella.NIL)))) : Cons.list$(Cons.cons(Stella.SYM_STELLA_SETF, Cons.cons(place, Cons.cons(Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA__, Cons.cons(Stella_Object.copyConsTree(place), Cons.cons(Cons.cons(decr, Stella.NIL), Stella.NIL)))), Stella.NIL), Stella.NIL))))));
    }
  }