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

Feature

**What is the current behavior?**

While server rendering React DOM and then hydrating with a different structure, React rightly warns that there are inconsistencies. But when I first saw these warnings I was not sure exactly what was going wrong.

Here are a few of the warnings I have been receiving:

```
Warning: Did not find a matching <button> in <div>.

Warning: Did not find a matching <img> in <div>.

Warning: Did not expect server HTML to contain a <div> in <div>.
```

Only on that last error did I catch on that this was a problem with server-rendering and the inconsistencies between that and my client render (intentional at the moment while testing some things in unpure render functions).

**What is the expected behavior?**

Being more explicit that this was a rendering inconsistency between server and client.

**Which versions of React, and which browser / OS are affected by this issue? Did this work in previous versions of React?**

React v16-beta.1
);
    testElement.innerHTML = html;
    return testElement.innerHTML;
  };
}
function ensureListeningTo(rootContainerElement, registrationName) {
  var isDocumentOrFragment =
    rootContainerElement.nodeType === DOCUMENT_NODE ||
    rootContainerElement.nodeType === DOCUMENT_FRAGMENT_NODE;
  var doc = isDocumentOrFragment
    ? rootContainerElement
    : rootContainerElement.ownerDocument;
  listenTo(registrationName, doc);
}
var mediaEvents = {
  topAbort: 'abort',
  topCanPlay: 'canplay',
  topCanPlayThrough: 'canplaythrough',
  topDurationChange: 'durationchange',
  topEmptied: 'emptied',
  topEncrypted: 'encrypted',
  topEnded: 'ended',
  topError: 'error',
  topLoadedData: 'loadeddata',
  topLoadedMetadata: 'loadedmetadata',
  topLoadStart: 'loadstart',
  topPause: 'pause',
  topPlay: 'play',
  topPlaying: 'playing',
  topProgress: 'progress',