<s>I'm going to revert</s> I have reverted https://github.com/facebook/react/pull/5947 because it's [very confusing](https://mobile.twitter.com/ReactStudent/status/1018749513572368384) to see Proxies in the console. The warning is just not worth the debugging impediment.

In the future, we should consider sealing or preventing extensions to pooled events (if we're not getting rid of pooling altogether, that is). But that would be a breaking change.
const eventHandler = e => {
      expect(e.isPersistent()).toBe(false);
      e.persist();
      syntheticEvent = e;
      expect(e.isPersistent()).toBe(true);
      expectedCount++;
    };
    node = ReactDOM.render(<div onClick={eventHandler} />, container);
    const event = document.createEvent('Event');
    event.initEvent('click', true, true);
    node.dispatchEvent(event);
    expect(syntheticEvent.type).toBe('click');
    expect(syntheticEvent.bubbles).toBe(true);
    expect(syntheticEvent.cancelable).toBe(true);
    expect(expectedCount).toBe(1);
  });
  it('should be nullified and log warnings if the synthetic event has not been persisted', () => {
    let node;
    let expectedCount = 0;
    let syntheticEvent;
    const eventHandler = e => {
      syntheticEvent = e;
      expectedCount++;
    };
    node = ReactDOM.render(<div onClick={eventHandler} />, container);
    const event = document.createEvent('Event');
    event.initEvent('click', true, true);
    node.dispatchEvent(event);
    const getExpectedWarning = property =>
      'Warning: This synthetic event is reused for performance reasons. If ' +