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.
`you're seeing this, you're accessing the property \`${property}\` on a ` +
      'released/nullified synthetic event. This is set to null. If you must ' +
      'keep the original synthetic event around, use event.persist(). ' +
      'See https://fb.me/react-event-pooling for more information.';
    
    expect(() => expect(syntheticEvent.type).toBe(null)).toWarnDev(
      getExpectedWarning('type'),
      {withoutStack: true},
    );
    expect(() => expect(syntheticEvent.nativeEvent).toBe(null)).toWarnDev(
      getExpectedWarning('nativeEvent'),
      {withoutStack: true},
    );
    expect(() => expect(syntheticEvent.target).toBe(null)).toWarnDev(
      getExpectedWarning('target'),
      {withoutStack: true},
    );
    expect(expectedCount).toBe(1);
  });
  it('should warn when setting properties of a synthetic event that 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);