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.
return (
            <Provider foo={props.foo} bar={props.bar}>
              <Indirection>
                <Foo>
                  {}
                  {() => (
                    <Indirection>
                      <Bar>
                        {() => (
                          <Indirection>
                            <Foo />
                          </Indirection>
                        )}
                      </Bar>
                    </Indirection>
                  )}
                </Foo>
              </Indirection>
            </Provider>
          );
        }
        ReactNoop.render(<App foo={1} bar={1} />);
        expect(Scheduler).toFlushAndYield(['Foo', 'Bar', 'Foo']);
        expect(ReactNoop.getChildren()).toEqual([
          span('Foo: 1'),
          span('Bar: 1'),
          span('Foo: 1'),
        ]);