code: function reserveSlots(numSlots) {
      // Init the slots with a unique `NO_CHANGE` value so that the first change is always detected
      // whether it happens or not during the first change detection pass - pure functions checks
      // might be skipped when short-circuited.
      viewData.length += numSlots;
      viewData.fill(NO_CHANGE, -numSlots);
      // We need to initialize the binding in case a `pureFunctionX` kind of binding instruction is
      // called first in the update section.
      initBindings();
  }
docs: Reserves slots for pure functions (`pureFunctionX` instructions)
  
  Bindings for pure functions are stored after the LNodes in the data array but before the binding.
  
  ----------------------------------------------------------------------------
  |  LNodes ... | pure function bindings | regular bindings / interpolations |
  ----------------------------------------------------------------------------
  ^
  TView.bindingStartIndex
  
  Pure function instructions are given an offset from TView.bindingStartIndex.
  Subtracting the offset from TView.bindingStartIndex gives the first index where the bindings
  are stored.
  
  NOTE: reserveSlots instructions are only ever allowed at the very end of the creation block