public static Stella_Object accessClassSlotValue(Stella_Class self, Symbol slotname, Stella_Object value, boolean setvalueP) {
    if (slotname == Stella.SYM_STELLA_CL_STRUCTp) {
      if (setvalueP) {
        self.clStructP = BooleanWrapper.coerceWrappedBooleanToBoolean(((BooleanWrapper)(value)));
      }
      else {
        value = (self.clStructP ? Stella.TRUE_WRAPPER : Stella.FALSE_WRAPPER);
      }
    }
    else if (slotname == Stella.SYM_STELLA_MIXINp) {
      if (setvalueP) {
        self.mixinP = BooleanWrapper.coerceWrappedBooleanToBoolean(((BooleanWrapper)(value)));
      }
      else {
        value = (self.mixinP ? Stella.TRUE_WRAPPER : Stella.FALSE_WRAPPER);
      }
    }
    else if (slotname == Stella.SYM_STELLA_CLASS_TYPE) {
      if (setvalueP) {
        self.classType = ((Surrogate)(value));
      }
      else {
        value = self.classType;
      }
    }
    else if (slotname == Stella.SYM_STELLA_CLASS_ARITY) {
      value = IntegerWrapper.wrapInteger(self.classArity());
    }
    else if (slotname == Stella.SYM_STELLA_CLASS_DIRECT_SUPERS) {
      if (setvalueP) {
        self.classDirectSupers = ((List)(value));
      }
      else {
        value = self.classDirectSupers;
      }
    }
    else if (slotname == Stella.SYM_STELLA_CLASS_DIRECT_SUBS) {
      if (setvalueP) {
        self.classDirectSubs = ((List)(value));
      }
      else {
        value = self.classDirectSubs;
      }
    }
    else if (slotname == Stella.SYM_STELLA_CLASS_ALL_SUPER_CLASSES) {
      if (setvalueP) {
        self.classAllSuperClasses = ((Cons)(value));
      }
      else {
        value = self.classAllSuperClasses;
      }
    }
    else if (slotname == Stella.SYM_STELLA_CLASS_ALL_SLOTS) {
      if (setvalueP) {
        self.classAllSlots = ((Cons)(value));
      }
      else {
        value = self.classAllSlots;
      }
    }
    else if (slotname == Stella.SYM_STELLA_CLASS_LOCAL_SLOTS) {
      if (setvalueP) {
        self.classLocalSlots = ((List)(value));
      }
      else {
        value = self.classLocalSlots;
      }
    }
    else if (slotname == Stella.SYM_STELLA_CLASS_SLOT_AND_METHOD_CACHE) {
      if (setvalueP) {
        self.classSlotAndMethodCache = ((Vector)(value));
      }
      else {
        value = self.classSlotAndMethodCache;
      }
    }
    else if (slotname == Stella.SYM_STELLA_CLASS_ABSTRACTp) {
      if (setvalueP) {
        self.abstractP = BooleanWrapper.coerceWrappedBooleanToBoolean(((BooleanWrapper)(value)));
      }
      else {
        value = (self.abstractP ? Stella.TRUE_WRAPPER : Stella.FALSE_WRAPPER);
      }
    }
    else if (slotname == Stella.SYM_STELLA_CLASS_MIXINp) {
      if (setvalueP) {
        self.mixinP = BooleanWrapper.coerceWrappedBooleanToBoolean(((BooleanWrapper)(value)));
      }
      else {
        value = (self.mixinP ? Stella.TRUE_WRAPPER : Stella.FALSE_WRAPPER);
      }
    }
    else if (slotname == Stella.SYM_STELLA_CLASS_COLLECTIONp) {
      if (setvalueP) {
        self.classCollectionP = BooleanWrapper.coerceWrappedBooleanToBoolean(((BooleanWrapper)(value)));
      }
      else {
        value = (self.classCollectionP ? Stella.TRUE_WRAPPER : Stella.FALSE_WRAPPER);
      }
    }
    else if (slotname == Stella.SYM_STELLA_CLASS_CL_STRUCTp) {
      if (setvalueP) {
        self.clStructP = BooleanWrapper.coerceWrappedBooleanToBoolean(((BooleanWrapper)(value)));
      }
      else {
        value = (self.clStructP ? Stella.TRUE_WRAPPER : Stella.FALSE_WRAPPER);
      }
    }
    else if (slotname == Stella.SYM_STELLA_CLASS_CL_STRUCT_SLOTS) {
      if (setvalueP) {
        KeyValueList.setDynamicSlotValue(self.dynamicSlots, Stella.SYM_STELLA_CLASS_CL_STRUCT_SLOTS, ((List)(value)), null);
      }
      else {
        value = self.classClStructSlots();
      }
    }
    else if (slotname == Stella.SYM_STELLA_CLASS_PUBLICp) {
      if (setvalueP) {
        self.classPublicP = BooleanWrapper.coerceWrappedBooleanToBoolean(((BooleanWrapper)(value)));
      }
      else {
        value = (self.classPublicP ? Stella.TRUE_WRAPPER : Stella.FALSE_WRAPPER);
      }
    }
    else if (slotname == Stella.SYM_STELLA_CLASS_RECYCLE_METHOD) {
      if (setvalueP) {
        KeyValueList.setDynamicSlotValue(self.dynamicSlots, Stella.SYM_STELLA_CLASS_RECYCLE_METHOD, ((Keyword)(value)), null);
      }
      else {
        value = self.classRecycleMethod();
      }
    }
    else if (slotname == Stella.SYM_STELLA_CLASS_FINALIZEDp) {
      if (setvalueP) {
        self.classFinalizedP = BooleanWrapper.coerceWrappedBooleanToBoolean(((BooleanWrapper)(value)));
      }
      else {
        value = (self.classFinalizedP ? Stella.TRUE_WRAPPER : Stella.FALSE_WRAPPER);
      }
    }
    else if (slotname == Stella.SYM_STELLA_CLASS_SLOTS_FINALIZEDp) {
      if (setvalueP) {
        self.classSlotsFinalizedP = BooleanWrapper.coerceWrappedBooleanToBoolean(((BooleanWrapper)(value)));
      }
      else {
        value = (self.classSlotsFinalizedP ? Stella.TRUE_WRAPPER : Stella.FALSE_WRAPPER);
      }
    }
    else if (slotname == Stella.SYM_STELLA_CLASS_STRINGIFIED_SOURCE) {
      if (setvalueP) {
        self.classStringifiedSource = ((StringWrapper)(value)).wrapperValue;
      }
      else {
        value = StringWrapper.wrapString(self.classStringifiedSource);
      }
    }
    else if (slotname == Stella.SYM_STELLA_CLASS_PARAMETERS) {
      if (setvalueP) {
        KeyValueList.setDynamicSlotValue(self.dynamicSlots, Stella.SYM_STELLA_CLASS_PARAMETERS, ((List)(value)), null);
      }
      else {
        value = self.classParameters();
      }
    }
    else if (slotname == Stella.SYM_STELLA_CLASS_CONSTRUCTOR_CODE) {
      if (setvalueP) {
        self.classConstructorCode = ((FunctionCodeWrapper)(value)).wrapperValue;
      }
      else {
        value = FunctionCodeWrapper.wrapFunctionCode(self.classConstructorCode);
      }
    }
    else if (slotname == Stella.SYM_STELLA_CLASS_SLOT_ACCESSOR_CODE) {
      if (setvalueP) {
        self.classSlotAccessorCode = ((FunctionCodeWrapper)(value)).wrapperValue;
      }
      else {
        value = FunctionCodeWrapper.wrapFunctionCode(self.classSlotAccessorCode);
      }
    }
    else if (slotname == Stella.SYM_STELLA_CLASS_REQUIRED_SLOT_NAMES) {
      if (setvalueP) {
        KeyValueList.setDynamicSlotValue(self.dynamicSlots, Stella.SYM_STELLA_CLASS_REQUIRED_SLOT_NAMES, ((List)(value)), null);
      }
      else {
        value = self.classRequiredSlotNames();
      }
    }
    else if (slotname == Stella.SYM_STELLA_CLASS_GUARD_CONSTRUCTOR_DEMONS) {
      if (setvalueP) {
        KeyValueList.setDynamicSlotValue(self.dynamicSlots, Stella.SYM_STELLA_CLASS_GUARD_CONSTRUCTOR_DEMONS, ((List)(value)), null);
      }
      else {
        value = self.classGuardConstructorDemons();
      }
    }
    else if (slotname == Stella.SYM_STELLA_CLASS_CONSTRUCTOR_DEMONS) {
      if (setvalueP) {
        KeyValueList.setDynamicSlotValue(self.dynamicSlots, Stella.SYM_STELLA_CLASS_CONSTRUCTOR_DEMONS, ((List)(value)), null);
      }
      else {
        value = self.classConstructorDemons();
      }
    }
    else if (slotname == Stella.SYM_STELLA_CLASS_GUARD_DESTRUCTOR_DEMONS) {
      if (setvalueP) {
        KeyValueList.setDynamicSlotValue(self.dynamicSlots, Stella.SYM_STELLA_CLASS_GUARD_DESTRUCTOR_DEMONS, ((List)(value)), null);
      }
      else {
        value = self.classGuardDestructorDemons();
      }
    }
    else if (slotname == Stella.SYM_STELLA_CLASS_DESTRUCTOR_DEMONS) {
      if (setvalueP) {
        KeyValueList.setDynamicSlotValue(self.dynamicSlots, Stella.SYM_STELLA_CLASS_DESTRUCTOR_DEMONS, ((List)(value)), null);
      }
      else {
        value = self.classDestructorDemons();
      }
    }
    else if (slotname == Stella.SYM_STELLA_CLASS_KEY) {
      if (setvalueP) {
        KeyValueList.setDynamicSlotValue(self.dynamicSlots, Stella.SYM_STELLA_CLASS_KEY, ((List)(value)), null);
      }
      else {
        value = self.classKey();
      }
    }
    else if (slotname == Stella.SYM_STELLA_CLASS_SYNONYMS) {
      if (setvalueP) {
        KeyValueList.setDynamicSlotValue(self.dynamicSlots, Stella.SYM_STELLA_CLASS_SYNONYMS, ((List)(value)), null);
      }
      else {
        value = self.classSynonyms();
      }
    }
    else if (slotname == Stella.SYM_STELLA_CLASS_MARKEDp) {
      if (setvalueP) {
        self.classMarkedP = BooleanWrapper.coerceWrappedBooleanToBoolean(((BooleanWrapper)(value)));
      }
      else {
        value = (self.classMarkedP ? Stella.TRUE_WRAPPER : Stella.FALSE_WRAPPER);
      }
    }
    else if (slotname == Stella.SYM_STELLA_CLASS_TAXONOMY_NODE) {
      if (setvalueP) {
        self.classTaxonomyNode = ((TaxonomyNode)(value));
      }
      else {
        value = self.classTaxonomyNode;
      }
    }
    else {
      if (slotname == Stella.SYM_STELLA_CLASS_DOCUMENTATION) {
        slotname = Stella.SYM_STELLA_DOCUMENTATION;
      }
      else if (slotname == Stella.SYM_STELLA_CLASS_PRINT_FORM) {
        slotname = Stella.SYM_STELLA_PRINT_FORM;
      }
      else {
      }
      if (setvalueP) {
        KeyValueList.setDynamicSlotValue(self.dynamicSlots, slotname, value, null);
      }
      else {
        value = self.dynamicSlots.lookup(slotname);
      }
    }
    return (value);
  }