callParent(callback, count = 0) {
    const stackIndex = this.#getNodeStackIndex(count + 1);
    const parentValues = this.stack.splice(stackIndex + 1);
    try {
      return callback(this);
    } finally {
      this.stack.push(...parentValues);
    }
  }
@template {(path: AstPath) => any} T
@param {T} callback
@param {number} [count=0]
@returns {ReturnType<T>}