Repro case with a master build: https://codesandbox.io/s/stoic-mcnulty-dhygf?file=/src/App.js:668-703

Expected: we see content after a second.
Actual: fallback never resolves.

This happens in a sequence of:

1. Normal update
   - which suspends
2. Idle update
   - which also suspends
3. An unrelated normal update immediately followed by a ping (so they're batched)
   - here, we decide to stay on fallback, but should've shown the content

If you remove `_setVersion(v => v + 1);` on line 44 then the issue goes away.
setIsRendering(false);
  } else {
    nextChildren = renderWithHooks(
      current,
      workInProgress,
      Component,
      nextProps,
      context,
      renderExpirationTime,
    );
  }
  if (current !== null && !didReceiveUpdate) {
    bailoutHooks(current, workInProgress, renderExpirationTime);
    return bailoutOnAlreadyFinishedWork(
      current,
      workInProgress,
      renderExpirationTime,
    );
  }
  
  workInProgress.effectTag |= PerformedWork;
  reconcileChildren(
    current,
    workInProgress,
    nextChildren,
    renderExpirationTime,
  );
  return workInProgress.child;
}
function updateBlock<Props, Data>(