exit(path, state) {
        const parentPath = path.parentPath;
        const parentNode = parentPath?.node;

        if (isVariableDeclarator(parentNode) && parentNode.id.name != null) {
          const binding = parentPath?.scope.getBinding(parentNode.id.name);

          if (binding && !binding.referenced) {
            state.stripped = true;
            parentPath?.remove();
          }
        }
      }
This will mark `foo?.()` as unsafe, so it is not replaced with `undefined` down the line.

We saw this case in the wild, where the unary expression `void foo?.()` was replaced with `undefined`
resulting in the expression call being skipped.