https://codesandbox.io/s/40j50607y0

Rendering a component like:

```js
const Foo = () => <React.Fragment />
```

Throws the error:

> Foo(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null.

The error is confusing because clearly `Foo` _is_ returning a value. I don't know if we want to support rendering empty fragments, but in any case this error is confusing.

If this isn't allowed it should explicitly call out that a component cannot return a fragment with no children.

cc @gaearon 
warning(
            false,
            'Encountered two children with the same key, `%s`. ' +
              'Keys should be unique so that components maintain their identity ' +
              'across updates. Non-unique keys may cause children to be ' +
              'duplicated and/or omitted — the behavior is unsupported and ' +
              'could change in a future version.%s',
            key,
            getCurrentFiberStackAddendum(),
          );
          break;
        default:
          break;
      }
    }
    return knownKeys;
  }
  function reconcileChildrenArray(
    returnFiber: Fiber,
    currentFirstChild: Fiber | null,
    newChildren: Array<*>,
    expirationTime: ExpirationTime,
  ): Fiber | null {
    // 
    // 
    // 
    // 
    // 
    // 
    //