public static List relationsWithDescriptions() {
    { List result = List.newList();

      { Stella_Class renamed_Class = null;
        Iterator iter000 = Module.allClasses(null, false);
        Cons collect000 = null;

        while (iter000.nextP()) {
          renamed_Class = ((Stella_Class)(iter000.value));
          if (((NamedDescription)(KeyValueList.dynamicSlotValue(renamed_Class.dynamicSlots, Logic.SYM_LOGIC_DESCRIPTION, null))) != null) {
            if (collect000 == null) {
              {
                collect000 = Cons.cons(renamed_Class, Stella.NIL);
                if (result.theConsList == Stella.NIL) {
                  result.theConsList = collect000;
                }
                else {
                  Cons.addConsToEndOfConsList(result.theConsList, collect000);
                }
              }
            }
            else {
              {
                collect000.rest = Cons.cons(renamed_Class, Stella.NIL);
                collect000 = collect000.rest;
              }
            }
          }
        }
      }
      { Slot slot = null;
        Iterator iter001 = Module.allSlots(null, false);
        Cons collect001 = null;

        while (iter001.nextP()) {
          slot = ((Slot)(iter001.value));
          if (((NamedDescription)(KeyValueList.dynamicSlotValue(slot.dynamicSlots, Logic.SYM_LOGIC_DESCRIPTION, null))) != null) {
            if (collect001 == null) {
              {
                collect001 = Cons.cons(slot, Stella.NIL);
                if (result.theConsList == Stella.NIL) {
                  result.theConsList = collect001;
                }
                else {
                  Cons.addConsToEndOfConsList(result.theConsList, collect001);
                }
              }
            }
            else {
              {
                collect001.rest = Cons.cons(slot, Stella.NIL);
                collect001 = collect001.rest;
              }
            }
          }
        }
      }
      return (result);
    }
  }