https://jsfiddle.net/3apqnhmw/

```jsx
class Foo extends React.Component {
  render() {
     return <div>Foo</div>
  }
}

class App extends React.Component {
  render() {
    return Foo
  }
}
```

When `App` returns `Foo` instead of `<Foo />` accidentally, Fiber does not catch this.
return <Indirection><X /></Indirection>;
    }
    function Foo() {
      return <Bar />;
    }
    expect(() => ReactTestUtils.renderIntoDocument(<Foo />)).toThrowError(
      'Element type is invalid: expected a string (for built-in components) ' +
        'or a class/function (for composite components) but got: undefined. ' +
        "You likely forgot to export your component from the file it's " +
        'defined in.\n\nCheck the render method of `Bar`.',
    );
    
    expectDev(console.error.calls.count()).toBe(1);
  });
  it('throws if a plain object is used as a child', () => {
    var children = {
      x: <span />,
      y: <span />,
      z: <span />,
    };
    var element = <div>{[children]}</div>;
    var container = document.createElement('div');
    var ex;
    try {
      ReactDOM.render(element, container);
    } catch (e) {
      ex = e;
    }
    expect(ex).toBeDefined();