public static Cons wrapWithDefaultValueAndReturnCode(StorageSlot slot, Stella_Object defaultexpression) {
    { Cons readcode = Cons.list$(Cons.cons(Stella.SYM_STELLA_SLOT_VALUE, Cons.cons(Stella.SYM_STELLA_SELF, Cons.cons(slot.slotName, Cons.cons(Stella.NIL, Stella.NIL)))));

      if (defaultexpression != null) {
        if (slot.type() == Stella.SGT_STELLA_BOOLEAN) {
          if (!(slot.allocation() == Stella.KWD_DYNAMIC)) {
            { Object old$PrintreadablyP$000 = Stella.$PRINTREADABLYp$.get();

              try {
                Native.setBooleanSpecial(Stella.$PRINTREADABLYp$, true);
                Stella.signalTranslationWarning();
                if (!(Stella.suppressWarningsP())) {
                  Stella.printErrorContext(">> WARNING: ", Stella.STANDARD_WARNING);
                  {
                    Stella.STANDARD_WARNING.nativeStream.println();
                    Stella.STANDARD_WARNING.nativeStream.println(" Ignoring :default annotation on non-dynamic BOOLEAN slot `" + Stella_Object.deUglifyParseTree(slot) + "'.");
                    Stella.STANDARD_WARNING.nativeStream.println(" Limited :default support is available for dynamic BOOLEAN slots,");
                    Stella.STANDARD_WARNING.nativeStream.println(" and full support for THREE-VALUED-BOOLEAN slots.");
                  }
;
                }

              } finally {
                Stella.$PRINTREADABLYp$.set(old$PrintreadablyP$000);
              }
            }
          }
          else {
            {
              Surrogate.setLiteralTypeInfo(Stella.SGT_STELLA_BOOLEAN, Stella.KWD_NULL_WRAPPER, Cons.list$(Cons.cons(Stella.SYM_STELLA_INLINE_WRAP_BOOLEAN, Cons.cons(defaultexpression, Cons.cons(Stella.NIL, Stella.NIL)))));
              Symbol.pushVariableBinding(Stella.SYM_STELLA_SELF, slot.slotOwner);
              readcode = Stella_Object.sysTree(Stella_Object.walkExpressionTree(readcode, Stella.SGT_STELLA_BOOLEAN, slot.slotName, false, new Object[1]), Stella.SGT_STELLA_BOOLEAN, new Object[1]);
              Stella.popVariableBinding();
              Surrogate.setLiteralTypeInfo(Stella.SGT_STELLA_BOOLEAN, Stella.KWD_NULL_WRAPPER, Stella.SYM_STELLA_FALSE_WRAPPER);
            }
          }
          return (Cons.list$(Cons.cons(Stella.SYM_STELLA_RETURN, Cons.cons(readcode, Cons.cons(Stella.NIL, Stella.NIL)))));
        }
        else {
          return (Cons.list$(Cons.cons(Stella.SYM_STELLA_LET, Cons.cons(Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_ANSWER, Cons.cons(readcode, Cons.cons(Stella.NIL, Stella.NIL)))), Stella.NIL), Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_IF, Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_NULLp, Cons.cons(Stella.SYM_STELLA_ANSWER, Cons.cons(Stella.NIL, Stella.NIL)))), Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_RETURN, Cons.cons(Stella_Object.copyConsTree(defaultexpression), Cons.cons(Stella.NIL, Stella.NIL)))), Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_RETURN, Cons.cons(Stella.SYM_STELLA_ANSWER, Cons.cons(Stella.NIL, Stella.NIL)))), Cons.cons(Stella.NIL, Stella.NIL)))))), Cons.cons(Stella.NIL, Stella.NIL))))));
        }
      }
      else {
        return (Cons.list$(Cons.cons(Stella.SYM_STELLA_RETURN, Cons.cons(readcode, Cons.cons(Stella.NIL, Stella.NIL)))));
      }
    }
  }