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.
newChild === null || newChild === false,
            '%s.render(): A valid React element (or null) must be returned. ' +
              'You may have returned undefined, an array or some other ' +
              'invalid object.',
            Component.displayName || Component.name || 'Component',
          );
          break;
        }
        case FunctionalComponent: {
          // 
          const Component = returnFiber.type;
          invariant(
            newChild === null || newChild === false,
            '%s(...): A valid React element (or null) must be returned. ' +
              'You may have returned undefined, an array or some other ' +
              'invalid object.',
            Component.displayName || Component.name || 'Component',
          );
          break;
        }
      }
    }
    if (typeof newChild === 'string' || typeof newChild === 'number') {
      return placeSingleChild(
        reconcileSingleTextNode(
          returnFiber,
          currentFirstChild,
          '' + newChild,
          priority,
        ),