docs: public boolean sameAs(BlockType other) {
          if (!this.isValid) {
              return !other.isValid && (this.isTop == other.isTop);
          } else {
              if (!other.isValid) {
                  return false;
              } else {
                  // Both facts are valid
                  if (this.depth != other.depth) {
                      return false;
                  }
  
                  // Compare bits
                  for (int i = 0; i < this.depth; ++i) {
                      if (this.get(i) != other.get(i)) {
                          return false;
                      }
                  }
  
                  return true;
              }
          }
      }