Given the following test case

``` jsx
function TestCmp() {
  return <span>{NaN}</span>;
}

ReactDOM.render(<TestCmp />, document.getElementById('app'));
```

Produces the following warning:

```
Warning: Component's children should not be mutated.
    in span (created by TestCmp)
    in TestCmp (created by Unknown)
```

This is probably caused by [this mutation check](https://github.com/facebook/react/blob/328fc75bc910032ff37dc9d93429fb14b476bd0d/src/renderers/shared/hooks/ReactChildrenMutationWarningHook.js#L34), which was introduced in 15.3.0, but it doesn't work for NaN, because NaN != NaN

if (allowRoot && debugID === 0) {
    return;
  }
  if (!debugID) {
    warning(false, 'ReactDebugTool: debugID may not be empty.');
  }
}
function beginLifeCycleTimer(debugID, timerType) {
  if (currentFlushNesting === 0) {
    return;
  }
  if (currentTimerType && !lifeCycleTimerHasWarned) {
    warning(
      false,
      'There is an internal error in the React performance measurement code. ' +
      'Did not expect %s timer to start while %s timer is still in ' +
      'progress for %s instance.',
      timerType,
      currentTimerType || 'no',
      (debugID === currentTimerDebugID) ? 'the same' : 'another'
    );
    lifeCycleTimerHasWarned = true;
  }
  currentTimerStartTime = performanceNow();
  currentTimerNestedFlushDuration = 0;
  currentTimerDebugID = debugID;
  currentTimerType = timerType;
}
function endLifeCycleTimer(debugID, timerType) {