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.
let mixedRef = element.ref;
  if (mixedRef !== null && typeof mixedRef !== 'function') {
    if (element._owner) {
      const owner: ?(Fiber | ReactInstance) = (element._owner: any);
      let inst;
      if (owner) {
        if (typeof owner.tag === 'number') {
          const ownerFiber = ((owner: any): Fiber);
          invariant(
            ownerFiber.tag === ClassComponent,
            'Stateless function components cannot have refs.',
          );
          inst = ownerFiber.stateNode;
        } else {
          
          inst = (owner: any).getPublicInstance();
        }
      }
      invariant(
        inst,
        'Missing owner for string ref %s. This error is likely caused by a ' +
          'bug in React. Please file an issue.',
        mixedRef,
      );
      const stringRef = '' + mixedRef;
      
      if (
        current !== null &&
        current.ref !== null &&
        current.ref._stringRef === stringRef