anchor.diff:      /// The index of the first element that _must_ be retained in memory
       /// because it is going to be used to generate a token.
       mutable StartingIndex: uint64
  -    /// The line the stream is currently at.
  -    mutable CurrentLine: uint64
  -    /// The column the stream is currently at.
  -    mutable CurrentColumn: uint64
  -    /// The character index the stream is currently at.
  -    mutable CurrentIndex: uint64
  +    mutable CurrentPosition: Position
       /// [omit]
       mutable _LastUnpinnedSpanPosition: Position
   }
  
positive.code:     static member private Create(src) = {
          Source = src
          StartingIndex = 0UL
          CurrentLine = Position.Initial.Line
          CurrentColumn = Position.Initial.Column
          CurrentIndex = Position.Initial.Index
          _LastUnpinnedSpanPosition = Position.Initial
      }
      /// Creates a `CharStream` from a `ReadOnlyMemory` of characters.
  
negative.code:     [<CompiledName("AdvanceByOne")>]
      let advanceByOne doUnpin (cs: CharStream) =
          if cs.CurrentIndex < uint64 cs.Source.LengthSoFar then
              cs.CurrentPosition <- cs.CurrentPosition.Advance cs.FirstCharacter
              if doUnpin then
                  cs.StartingIndex <- cs.CurrentIndex
          else
  