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>
          {props.children}
          <footer />
        </div>
      );
    }
    ReactTestUtils.renderIntoDocument(
      <Wrapper>
        <span />
        <span />
      </Wrapper>,
    );
  });
  it('warns for keys for iterables of elements in rest args', () => {
    const Component = React.createFactory(ComponentClass);
    const iterable = {
      '@@iterator': function() {
        let i = 0;
        return {
          next: function() {
            const done = ++i > 2;
            return {value: done ? undefined : Component(), done: done};
          },
        };
      },
    };
    expect(() => Component(null, iterable)).toWarnDev(
      'Each child in an array or iterator should have a unique "key" prop.',
    );