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

**What is the current behavior?**

React 16.10.0 has broken all Next.js applications (and potentially other SSR solutions).

It appears you cannot `hydrate` in conjunction with a client-side `<Suspense>` component.

> Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue.

![image](https://user-images.githubusercontent.com/616428/65810696-7f087b00-e17b-11e9-9957-3481fb5853e3.png)


**CodeSandbox**: https://codesandbox.io/s/i66g1

**What is the expected behavior?**

Not entirely sure -- I'm opening this issue to discuss. The provided example worked in React 16.9.0 (and prior releases containing Suspense).

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

`react@16.10.0`/`react-dom@16.10.0` is broken.
`react@16.9.0`/`react-dom@16.9.0` works.

expect(element.textContent).toBe('Hi');
    expect(() => {
      ReactDOM.hydrate(markup, element);
    }).toLowPriorityWarnDev(['componentWillMount has been renamed'], {
      withoutStack: true,
    });
    expect(element.textContent).toBe('Hi');
  });
  it('should be able to render and hydrate forwardRef components', () => {
    const FunctionComponent = ({label, forwardedRef}) => (
      <div ref={forwardedRef}>{label}</div>
    );
    const WrappedFunctionComponent = React.forwardRef((props, ref) => (
      <FunctionComponent {...props} forwardedRef={ref} />
    ));
    const ref = React.createRef();
    const markup = <WrappedFunctionComponent ref={ref} label="Hi" />;
    const element = document.createElement('div');
    element.innerHTML = ReactDOMServer.renderToString(markup);
    expect(element.textContent).toBe('Hi');
    expect(ref.current).toBe(null);
    ReactDOM.hydrate(markup, element);
    expect(element.textContent).toBe('Hi');
    expect(ref.current.tagName).toBe('DIV');
  });
  it('should be able to render and hydrate Profiler components', () => {
    const callback = jest.fn();
    const markup = (
      <React.Profiler id="profiler" onRender={callback}>
        <div>Hi</div>