anchor.diff:                // move to max key until min key matches max key so that we can use values
                 valuesOk <- doMoveNextDiscrete()
                 doContinue <- valuesOk
  -      if valuesOk then 
  -        this.HasValidState <- true
  -        true
  -      else false
  +      valuesOk
  +//      if valuesOk then 
  +//        true
  +//      else false
   
   
       member this.MoveLast(): bool = 
  
positive.code: 
      // return true only if all discrete cursors moved to the same key or they cannot move further
      let rec doMoveNextDiscrete() =
        let mutable continueMoves = true
        // check if we reached the state where all cursors are at the same position
        while cmp.Compare(discreteKeysSet.First.Key, discreteKeysSet.Last.Key) < 0 && continueMoves do
  
negative.code:       
      // this mirrows doMoveNextContinuous, any changes must be made to both
      let doMovePrevContinuous(frontier:'K) =
        #if PRERELEASE
        Trace.Assert(this.HasValidState)
        #endif
  
        let mutable frontier = frontier
        let mutable valuesOk = false
        let mutable found = false
  