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 current.ref;
      }
      const ref = function(value) {
        const refs = inst.refs === emptyObject ? (inst.refs = {}) : inst.refs;
        if (value === null) {
          delete refs[stringRef];
        } else {
          refs[stringRef] = value;
        }
      };
      ref._stringRef = stringRef;
      return ref;
    } else {
      invariant(
        typeof mixedRef === 'string',
        'Expected ref to be a function or a string.',
      );
      invariant(
        element._owner,
        'Element ref was specified as a string (%s) but no owner was ' +
          'set. You may have multiple copies of React loaded. ' +
          '(details: https://fb.me/react-refs-must-have-owner).',
        mixedRef,
      );
    }
  }
  return mixedRef;
}
function throwOnInvalidObjectType(returnFiber: Fiber, newChild: Object) {