docs: public boolean set(int index) {
          if(index < 0 || index >= size)
              throw new IndexOutOfBoundsException("index: " + index);
  
          int wordIndex=wordIndex(index);
          boolean already_set=(words[wordIndex] & (1L << index)) != 0;
          words[wordIndex]|=(1L << index); // Restores invariants
          return !already_set;
      }