(Regarding the experimental `React.unstable_Profiler` API and reactjs/rfcs/pull/51.)

PR #13058 changed the behavior of React profiling builds to opt host roots into `ProfileMode` if the React DevTools extension is detected. This was necessary in order to have accurate tree base time measurements for the visual flame graphs.

The Profiler plug-in for DevTools does feature detection to determine if it's enabled by looking at each root and seeing if any of the fibers contain an `actualDuration` attribute,

The problem is that the `actualDuration` attribute will be present on v16.4 fibers, which pre-date PR #13058. As a result, the Profiler UI may enable itself with versions of React that it cannot work correctly with.

Perhaps an easy solution would be to rename one of the `unstable_Profiler`'s fiber attributes prior to the next minor release (e.g. `treeBaseTime` -> `treeBaseDuration`) and change the DevTools Profiler to feature check using this new name instead.
this.firstEffect = null;
  this.lastEffect = null;
  this.expirationTime = NoWork;
  this.alternate = null;
  if (enableProfilerTimer) {
    this.actualDuration = 0;
    this.actualStartTime = 0;
    this.selfBaseTime = 0;
    this.treeBaseTime = 0;
  }
  if (__DEV__) {
    this._debugID = debugCounter++;
    this._debugSource = null;
    this._debugOwner = null;
    this._debugIsCurrentlyTiming = false;
    if (!hasBadMapPolyfill && typeof Object.preventExtensions === 'function') {
      Object.preventExtensions(this);
    }
  }
}
const createFiber = function(
  tag: TypeOfWork,
  pendingProps: mixed,
  key: null | string,
  mode: TypeOfMode,
): Fiber {
  
  return new FiberNode(tag, pendingProps, key, mode);
};
function shouldConstruct(Component) {