In a world where portions of the component tree can hydrate and become intractable with child components still being suspended, does documentation / guidance exist on how to handle these cases?

Example: https://simple-remix-deferred-demo.fly.dev/

Green: Hydrated
Red: Suspended

![image](https://user-images.githubusercontent.com/12063586/179860550-05561b29-9bdc-44bf-acc1-65a8a6ef79c8.png)

Clicking either of the "Link" elements in the hydrated portion of the page, this will trigger a re-render and causes the suspense boundary to receive an update before it finishes: https://reactjs.org/docs/error-decoder.html/?invariant=421 This isn't an issue in terms of app functionality as implemented as I was under the assumption parent updates from interactive components would be expected, I mean, why wouldn't they?

So I guess there are a few questions I have:
1) Why does react log this error? Is it an *actual* error?
2) Are there implications I can't think of that would cause your average bare bones suspense usage to fall over and that's the reason this message exists?
3) When you expect updates to happen when boundaries are still suspended, is there a documented way to handle this to avoid this message?

$
    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) {
  if (__DEV__) {
    if (
      revealOrder !== undefined &&