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.key === null ? newIdx : newChild.key,
            ) || null;
          return updateCoroutine(returnFiber, matchedFiber, newChild, priority);
        }
        case REACT_YIELD_TYPE: {
          
          
          const matchedFiber = existingChildren.get(newIdx) || null;
          return updateYield(returnFiber, matchedFiber, newChild, priority);
        }
        case REACT_PORTAL_TYPE: {
          const matchedFiber =
            existingChildren.get(
              newChild.key === null ? newIdx : newChild.key,
            ) || null;
          return updatePortal(returnFiber, matchedFiber, newChild, priority);
        }
      }
      if (isArray(newChild) || getIteratorFn(newChild)) {
        const matchedFiber = existingChildren.get(newIdx) || null;
        return updateFragment(returnFiber, matchedFiber, newChild, priority);
      }
      throwOnInvalidObjectType(returnFiber, newChild);
    }
    return null;
  }
  /**
   * Warns if there is a duplicate or missing key
   */
  function warnOnInvalidKey(