React version: 18.3.0-next-3ba7add60-20221201

Hard to reproduce.

In Next.js, in rare cases, and only after a fast refresh, the ref object when using forwardRef is simply `{}`.

This leads to the `TypeError: can't define property "current": Object is not extensible` error when used with `useImperativeHandle`.

```tsx
function Parent() {
  const carouselRef = useRef<any>();

  return <Suspense><Carousel ref={carouselRef} /></Suspense>
}

const Carousel = forwardRef((props, ref) => {
  if (!('current' in ref)) { debugger; }
  const thing = use(aPromise);
  return ...;
});
```

![Screenshot 2023-03-17 at 18 49 21](https://user-images.githubusercontent.com/5406212/225981809-22f575fa-0ec7-4f94-ae23-bffc8bf7c4dd.png)

In `updateImperativeHandle`, the ref is already an empty object.

![Screenshot 2023-03-17 at 19 13 13](https://user-images.githubusercontent.com/5406212/225985622-b8512a61-3a6b-4958-b63f-277219d4c816.png)

I haven't investigated it further yet, the stacktraces are quite hard to follow.
}
      node = node.return;
    }
     $
    node.sibling.return = node.return;
    node = node.sibling;
  }
}
function findLContentRow(firstChild: null | Fiber): null | Fiber {
   This is going to find the l row among these children that is already
   showing content on the screen, as opposed to being in fallback state or
   new. If a row has multiple Suspense boundaries, any of them being in the
   fallback state, counts as the whole row being in a fallback state.
   Note that the "rows" will be workInProgress, but any nested children
   will still be current since we haven't rendered them yet. The mounted
   order may not be the same as the new o We use the new o
  let row = firstChild;
  let lContentRow: null | Fiber = null;
  while (row !== null) {
    const currentRow = row.alternate;
     N
    if (currentRow !== null && findFirstSuspended(currentRow) === null) {
      lContentRow = row;
    }
    row = row.sibling;
  }
  return lContentRow;
}
type SuspenseListRevealOrder = 'forwards' | 'backwards' | 'together' | void;
function validateRevealOrder(revealOrder: SuspenseListRevealOrder) {