https://codesandbox.io/s/elastic-mayer-rzz4h2?file=/package.json

This is supposed to `console.error` but it doesn't.

17 warns: https://codesandbox.io/s/admiring-minsky-sze07m?file=/src/App.js
export function getRenderTargetTime(): number {
  return workInProgressRootRenderTargetTime;
}
let hasUncaughtError = false;
let firstUncaughtError = null;
let legacyErrorBoundariesThatAlreadyFailed: Set<mixed> | null = null;
 Only used when enableProfilerNestedUpdateScheduledHook is true;
 to track which root is currently committing layout effects.
let rootCommittingMutationOrLayoutEffects: FiberRoot | null = null;
let rootDoesHavePassiveEffects: boolean = false;
let rootWithPendingPassiveEffects: FiberRoot | null = null;
let pendingPassiveEffectsLanes: Lanes = NoLanes;
let pendingPassiveProfilerEffects: Array<Fiber> = [];
let pendingPassiveEffectsRemainingLanes: Lanes = NoLanes;
 Use these to prevent an infinite loop of nested updates
const NESTED_UPDATE_LIMIT = 50;
let nestedUpdateCount: number = 0;
let rootWithNestedUpdates: FiberRoot | null = null;
const NESTED_PASSIVE_UPDATE_LIMIT = 50;
let nestedPassiveUpdateCount: number = 0;
 If two updates are scheduled within the same event, we should treat their
 event times as simultaneous, even if the actual clock time has advanced
 between the first and second call.
let currentEventTime: number = NoTimestamp;
let currentEventTransitionLane: Lanes = NoLanes;
export function getWorkInProgressRoot(): FiberRoot | null {
  return workInProgressRoot;
}
export function requestEventTime() {
  if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {