Just about every time I set up a new `Context.Provider`, I end up accidentally specifying a `values` prop rather than `value`.  While it's a minor error, generally I build the container in which the provider resides and commit it to the code base before I ever use it.  It's only later when I go to use it that I realize I did it again.  Since the `Context.Provider` seems pretty much useless without a `value` prop specified, I'd love it if there was a prop error if it is missing... especially if another prop is defined on the `Context.Provider` instead.
static childContextTypes = {
        foo: PropTypes.string,
      };
      getChildContext() {
        return {
          foo: 'FOO',
        };
      }
      render() {
        return <MiddleMissingContext />;
      }
    }
    class MiddleMissingContext extends React.Component {
      static childContextTypes = {
        bar: PropTypes.string.isRequired,
      };
      render() {
        return <ChildContextConsumer />;
      }
    }
    let childContext;
    class ChildContextConsumer extends React.Component {
      render() {
        childContext = this.context;
        return <div />;