docs: function shiftInitState(view, priorInitState, newInitState) {
      // Only update the InitState if we are currently in the prior state.
      // For example, only move into CallingInit if we are in BeforeInit. Only
      // move into CallingContentInit if we are in CallingInit. Normally this will
      // always be true because of how checkCycle is called in checkAndUpdateView.
      // However, if checkAndUpdateView is called recursively or if an exception is
      // thrown while checkAndUpdateView is running, checkAndUpdateView starts over
      // from the beginning. This ensures the state is monotonically increasing,
      // terminating in the AfterInit state, which ensures the Init methods are called
      // at least once and only once.
      var state = view.state;
      var initState = state & 1792 /* InitState_Mask */;
      if (initState === priorInitState) {
          view.state = (state & ~1792 /* InitState_Mask */) | newInitState;
          view.initIndex = -1;
          return true;
      }
      return initState === newInitState;
  }