public static Cons yieldClosSlotTree(StorageSlot slot) {
    { Symbol slotname = Symbol.trueSlotName(slot.slotName, slot.slotOwner);
      Keyword allocation = slot.allocation();
      Cons allocationform = Stella.NIL;
      String documentation = ((StringWrapper)(KeyValueList.dynamicSlotValue(slot.dynamicSlots, Stella.SYM_STELLA_DOCUMENTATION, Stella.NULL_STRING_WRAPPER))).wrapperValue;
      Cons documentationform = Stella.NIL;

      if (allocation == Stella.KWD_EMBEDDED) {
        allocation = Stella.KWD_INSTANCE;
      }
      else {
      }
      if (allocation != null) {
        allocationform = Cons.list$(Cons.cons(Stella.KWD_ALLOCATION, Cons.cons(allocation, Cons.cons(Stella.NIL, Stella.NIL))));
      }
      if (documentation != null) {
        documentationform = Cons.list$(Cons.cons(Stella.KWD_DOCUMENTATION, Cons.cons(StringWrapper.wrapString(documentation), Cons.cons(Stella.NIL, Stella.NIL))));
      }
      return (Cons.cons(Symbol.clTranslateGlobalSymbol(slotname), StorageSlot.yieldClosSlotTypeTree(slot).concatenate(documentationform.concatenate(allocationform.concatenate(Cons.list$(Cons.cons(Stella.KWD_ACCESSOR, Cons.cons(Symbol.yieldClosSlotAccessorName(slotname), Cons.cons(Stella.NIL, Stella.NIL)))), Stella.NIL), Stella.NIL), Stella.NIL)));
    }
  }