Currently, if you define `shouldComponentUpdate` on `React.PureComponent` nothing bad happens and it acts like `React.Component` https://jsfiddle.net/jekmdfva/

We should probably warn in dev since it defaults the point of `PureComponent`
const context = needsContext
      ? getMaskedContext(workInProgress, unmaskedContext)
      : emptyObject;
    const instance = new ctor(props, context);
    adoptClassInstance(workInProgress, instance);
    checkClassInstance(workInProgress);
    
    
    if (needsContext) {
      cacheContext(workInProgress, unmaskedContext, context);
    }
    return instance;
  }
  
  function mountClassInstance(
    workInProgress: Fiber,
    priorityLevel: PriorityLevel,
  ): void {
    const instance = workInProgress.stateNode;
    const state = instance.state || null;
    let props = workInProgress.pendingProps;
    invariant(
      props,
      'There must be pending props for an initial mount. This error is ' +
        'likely caused by a bug in React. Please file an issue.',
    );
    const unmaskedContext = getUnmaskedContext(workInProgress);
    instance.props = props;
    instance.state = state;
    instance.refs = emptyObject;