**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
if (__DEV__) {
              warnForTextDifference(domElement.textContent, nextProp);
            }
            updatePayload = [CHILDREN, '' + nextProp];
          }
        }
      } else if (registrationNameModules.hasOwnProperty(propKey)) {
        if (nextProp) {
          ensureListeningTo(rootContainerElement, propKey);
        }
      } else if (__DEV__) {
        
        var serverValue;
        var propertyInfo;
        if (
          propKey === SUPPRESS_CONTENT_EDITABLE_WARNING ||
          
          
          propKey === 'value' ||
          propKey === 'checked' ||
          propKey === 'selected'
        ) {
          
        } else if (propKey === DANGEROUSLY_SET_INNER_HTML) {
          const rawHtml = nextProp ? nextProp[HTML] || '' : '';
          const serverHTML = domElement.innerHTML;
          const expectedHTML = normalizeHTML(domElement, rawHtml);
          if (expectedHTML !== serverHTML) {
            warnForPropDifference(propKey, serverHTML, expectedHTML);