I think maybe we should revert https://github.com/facebook/react/pull/5947.

People already think `proxyEvent` is some kind of an API: https://github.com/facebook/react/issues/12169.

It's also annoying to view in the debugger because none of the properties show up.

Instead, we could seal the event object or something like that.
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 ' +