anchor.diff:            hasValidState <- this.TryUpdatePrevious(this.InputCursor.Current, &value)
   #endif
             if hasValidState then 
  -            this.CurrentKey <- this.InputCursor.CurrentKey
  -            this.CurrentValue <- value
  +            currentKey <- this.InputCursor.CurrentKey
  +            currentValue <- value
           hasValidState
         else this.MoveLast()
   
  
positive.code:     /// An instance of the input cursor that is used for moves of SimpleBindCursor
      member this.InputCursor with get() : ICursor<'K,'V> = cursor
  
      //abstract CurrentKey:'K with get
      //abstract CurrentValue:'V2 with get
      member val CurrentKey = Unchecked.defaultof<'K> with get, set
      member val CurrentValue = Unchecked.defaultof<'V2> with get, set
      member this.Current with get () = KVP(this.CurrentKey, this.CurrentValue)
  
      /// Stores current batch for a succesful batch move
  
negative.code:         hasValidState <- this.TryGetValue(this.InputCursor.CurrentKey, true, &value)
  #endif
          if hasValidState then
            currentKey <- this.InputCursor.CurrentKey
            currentValue <- value
            true
          else
            match direction with
  