public static Cons mostGeneralCollections(Cons descriptions) {
    if (descriptions.rest == null) {
      return (descriptions);
    }
    { Cons cursor1 = descriptions;
      Cons cursor2 = null;
      Stella_Object value1 = null;
      Stella_Object value2 = null;

      while (!(cursor1 == Stella.NIL)) {
        value1 = ((LogicObject)(cursor1.value));
        if (value1 != null) {
          cursor2 = cursor1.rest;
          loop001 : while (!(cursor2 == Stella.NIL)) {
            value2 = cursor2.value;
            if (value2 != null) {
              if (LogicObject.collectionImpliesCollectionP(((LogicObject)(value2)), ((LogicObject)(value1)))) {
                cursor2.value = null;
              }
              else {
                if (LogicObject.collectionImpliesCollectionP(((LogicObject)(value1)), ((LogicObject)(value2)))) {
                  cursor1.value = null;
                  break loop001;
                }
              }
            }
            cursor2 = cursor2.rest;
          }
        }
        cursor1 = cursor1.rest;
      }
    }
    descriptions = descriptions.remove(null);
    return (descriptions);
  }