**Do you want to request a *feature* or report a *bug*?**
BUG

**What is the current behavior?**
App doesn't render in IE11 and below.

**If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via https://jsfiddle.net or similar (template: https://jsfiddle.net/reactjs/69z2wepo/).**
- Build React app with Webpack
- Launch IE11 or below (not an emulator)
- You will see a blank screen or half-compiled React app with the following error:
![24f8f6e8-afde-11e6-9a6f-a3cc6355f55c](https://cloud.githubusercontent.com/assets/1647596/20527736/7b9075a8-b097-11e6-8ccb-d205b1908f31.png)

**What is the expected behavior?**
- To render as it does in Chrome, Firefox, etc.

**Which versions of React, and which browser / OS are affected by this issue? Did this work in previous versions of React?**
We've temporarily shrink-wrapped our dependencies so that we can continue to serve our app. We're starting to believe that it's coming from a dependency that `react`, `apollo`  or `webpack` may be relying on...

Shrink-wrapped versions of our dependencies (left is the new one that's broken and the right one is the old one that continues to work across all browsers) https://www.diffchecker.com/SyaJUcsk
var innerHTML = props.dangerouslySetInnerHTML;
  if (innerHTML != null) {
    if (innerHTML.__html != null) {
      return innerHTML.__html;
    }
  } else {
    var content = props.children;
    if (typeof content === 'string' || typeof content === 'number') {
      return escapeTextContentForBrowser(content);
    }
  }
  return null;
}
function flattenTopLevelChildren(children: mixed): FlatReactChildren {
  if (!React.isValidElement(children)) {
    return toArray(children);
  }
  const element = ((children: any): ReactElement);
  if (element.type !== REACT_FRAGMENT_TYPE) {
    return [element];
  }
  const fragmentChildren = element.props.children;
  if (!React.isValidElement(fragmentChildren)) {
    return toArray(fragmentChildren);
  }
  const fragmentChildElement = ((fragmentChildren: any): ReactElement);
  return [fragmentChildElement];
}
function flattenOptionChildren(children: mixed): string {