**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
if (typeof key !== 'string') {
            break;
          }
          if (knownKeys === null) {
            knownKeys = new Set();
            knownKeys.add(key);
            break;
          }
          if (!knownKeys.has(key)) {
            knownKeys.add(key);
            break;
          }
          warning(
            false,
            'Encountered two children with the same key, `%s`. ' +
              'Keys should be unique so that components maintain their identity ' +
              'across updates. Non-unique keys may cause children to be ' +
              'duplicated and/or omitted — the behavior is unsupported and ' +
              'could change in a future version.%s',
            key,
            getCurrentFiberStackAddendum(),
          );
          break;
        default:
          break;
      }
    }
    return knownKeys;
  }
  function reconcileChildrenArray(