Follow up from https://github.com/facebook/react/pull/11616.

Here's one I found. These two invariants:

https://github.com/facebook/react/blob/7e7127387ba64f57299eaff8656542cea6fb3a2d/packages/react-reconciler/src/ReactFiberClassComponent.js#L330-L343

are in a function that's behind a DEV block:

https://github.com/facebook/react/blob/7e7127387ba64f57299eaff8656542cea6fb3a2d/packages/react-reconciler/src/ReactFiberClassComponent.js#L447-L449

I don't think this is intentional, but need to verify.

There may be more. I'll use this issue to track while https://github.com/facebook/react/pull/11616 preserves existing behavior.
class SimpleStateless extends React.Component {
  props : any;
  render() {
    return React.createElement(Inner, {name: this.props.bar});
  }
}
class InitialState extends React.Component {
  state = {
    bar: this.props.initialValue
  };
  render() {
    return React.createElement('span', {className: this.state.bar});
  }
}
class StateBasedOnProps extends React.Component {
  constructor(props) {
    super(props);
    this.state = { bar: props.initialValue };
  }
  changeState() {
    this.setState({ bar: 'bar' });
  }
  render() {
    if (this.state.bar === 'foo') {
      return React.createElement('div', {className: 'foo'});
    }
    return React.createElement('span', {className: this.state.bar});
  }
}
class StateBasedOnContext extends React.Component {