**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
ReactBrowserEventEmitter.trapBubbledEvent('topInvalid', 'invalid', node);
      break;
    case 'details':
      ReactBrowserEventEmitter.trapBubbledEvent('topToggle', 'toggle', node);
      break;
  }
}
function setInitialDOMProperties(
  domElement: Element,
  rootContainerElement: Element | Document,
  nextProps: Object,
  isCustomComponentTag: boolean,
): void {
  for (var propKey in nextProps) {
    if (!nextProps.hasOwnProperty(propKey)) {
      continue;
    }
    var nextProp = nextProps[propKey];
    if (propKey === STYLE) {
      if (__DEV__) {
        if (nextProp) {
          
          
          Object.freeze(nextProp);
        }
      }
      
      CSSPropertyOperations.setValueForStyles(domElement, nextProp);
    } else if (propKey === DANGEROUSLY_SET_INNER_HTML) {
      var nextHtml = nextProp ? nextProp[HTML] : undefined;