code: @VisibleForTesting
    HamtPMap<K, V> assertCorrectStructure() {
      if (isEmpty()) {
        return this;
      }
      int hash = hash(key);
      for (int i = 0; i < children.length; i++) {
        int childHash = hash(children[i].key);
        if (compareUnsigned(childHash, hash) < 0) {
            throw new AssertionError("Invalid map has decreasing hash " + children[i].key + "("
                + Integer.toHexString(childHash) + ") beneath " + key + "("
                + Integer.toHexString(hash) + ": " + this);
        }
        children[i].assertCorrectStructure();
      }
      return this;
    }
docs: Throws an assertion error if the map invariant is violated.