anchor.diff:  ----
   
   Nested selectors of a cached selector cannot be configured to be cached themselves, unless it's a higher ``cacheType``.
  -For example: a `STEP` cached `unionMoveSelector` can hold a `PHASE` cached ``changeMoveSelector``, but not a `STEP` cached ``changeMoveSelector``.
  +For example: a `STEP` cached `unionMoveSelector` can contain a `PHASE` cached ``changeMoveSelector``,
  +but it cannot contain a `STEP` cached ``changeMoveSelector``.
   
   
   [[selectionOrder]]
  
positive.code: [[cacheType]]
  === ``CacheType``: Create Moves Ahead of Time or Just In Time
  
  A ``Selector``'s `cacheType` determines when a selection (such as a ``Move``, an entity, a value, ...) is created and how long it lives.
  
  Almost every `Selector` supports setting a ``cacheType``:
  
  
negative.code: 
  image::MoveAndNeighborhoodSelection/swapMove.png[align="center"]
  
  Although a `SwapMove` on a single variable is essentially just two ``ChangeMove``s,
  it's often the winning step in cases that the first of the two ``ChangeMove``s would not win
  because it leaves the solution in a state with broken hard constraints.
  For example: swapping the room of two lectures doesn't bring the solution in a intermediate state where both lectures are in the same room which breaks a hard constraint.
  
  Simplest configuration:
  