anchor.diff:              match force, currentState with
               | true, _ -> true
               | _, NoData -> true
  -            | _, Updating oldSnapshot -> oldSnapshot.Snapshot <> snapshot
  -            | _, Data (oldSnapshot, _) -> oldSnapshot.Snapshot <> snapshot
  +            | _, Updating oldSnapshot -> oldSnapshot <> snapshot
  +            | _, Data (oldSnapshot, _) -> oldSnapshot <> snapshot
   
  -        state.Swap (fun _ -> Updating (SnapshotSpan (snapshot, 0, snapshot.Length))) |> ignore
  +        state.Swap (fun _ -> Updating snapshot) |> ignore
                   
           if needUpdate then
               let worker = 
  
positive.code: [<NoComparison>]
  type private ClassifierState =
      | NoData
      | Updating of snapshotSpan: SnapshotSpan
      | Data of snapshotSpan: SnapshotSpan * spans: CategorizedColumnSpan []
  
  type SyntaxConstructClassifier (textDocument: ITextDocument, 
                                  buffer: ITextBuffer, 
  
negative.code:                             getCategoriesAndLocations (symbolsUses, parseResults.ParseTree, lexer, getTextLineOneBased, openDeclarations, entitiesMap)
                              |> Array.sortBy (fun { WordSpan = { Line = line }} -> line)
                          
                          state.Swap (fun _ -> Data (snapshot, spans)) |> ignore
  
                          // TextBuffer is null if a solution is closed at this moment
                          if textDocument.TextBuffer <> null then
  