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:           )
            allMovedFirst <- doContinue
          else
            // all cursors are positioned so that it is possible to get value, but not guaranteed
            this.HasValidState <- true
            if isContinuous then
              if fillContinuousValuesAtKey(contKeysSet.First.Key) then
                this.CurrentKey <- contKeysSet.First.Key
  