getPublicInstance = (i) => {
      if (!i)
          return null;
      if (isStatefulComponent(i))
          return getExposeProxy(i) || i.proxy;
      return getPublicInstance(i.parent);
  }
#2437 In Vue 3, functional components do not have a public instance proxy but
they exist in the internal parent chain. For code that relies on traversing
public $parent chains, skip functional ones and go to the parent instead.