This:

```js
createElement(<div />)
```

doesn't currently give a distinguishable message.

https://stackoverflow.com/questions/51110436/wrapping-provider-in-same-component-throws-element-type-is-invalid-expected-a-s

But we can easily detect it by checking for `$$typeof` and in that case suggest something more concrete (e.g. "Did you accidentally export JSX instead of a component?").
return <div>{[<div />, <div />]}</div>;
    }
    function Parent(props) {
      return React.cloneElement(props.child);
    }
    function GrandParent() {
      return <Parent child={<Component />} />;
    }
    expect(() => ReactTestUtils.renderIntoDocument(<GrandParent />)).toWarnDev(
      'Warning: Each child in an array or iterator should have a unique ' +
        '"key" prop.\n\nCheck the render method of `Component`. See ' +
        'https://fb.me/react-warning-keys for more information.\n' +
        '    in div (at **)\n' +
        '    in Component (at **)\n' +
        '    in Parent (at **)\n' +
        '    in GrandParent (at **)',
    );
  });
  it('does not warn for keys when passing children down', () => {
    function Wrapper(props) {