*/
  public Cons removeDuplicates() {
    { Cons self = this;

      if (self.length() > Stella.$REMOVE_DUPLICATES_CROSSOVER_POINT$) {
        return (Cons.removeDuplicatesFromLongList(self, false));
      }
      else {
        { Cons cursor = self;
          Cons rest = null;

          while (!(cursor == Stella.NIL)) {
            rest = cursor.rest;
            if (rest.memberP(cursor.value)) {
              rest = rest.remove(cursor.value);
              cursor.rest = rest;
            }
            cursor = rest;
          }
          return (self);
        }
      }
    }
  }