anchor.diff:  
                   let! checkResults = pf.Time "parseFileInProject" <| fun _ ->
                       vsLanguageService.ParseAndCheckFileInProject(textDocument.FilePath, snapshot.GetText(), project) |> liftAsync
  -
  +                     
                   let! ast = checkResults.GetUntypedAst()
                   do! checkAst "Slow stage" ast
   
  
positive.code:             None
          else Some()
  
  
      let mergeSpans (oldSpans: CategorizedSnapshotSpan[]) (newSpans: CategorizedSnapshotSpan[]) =
          let getTypeCheckerSpans (spans: CategorizedSnapshotSpan[]) =
              spans
              |> Array.filter (fun x ->
                  match x.ColumnSpan.Category with
                  | Category.Escaped
                  | Category.Operator
                  | Category.Other
                  | Category.Printf
                  | Category.Quotation
                  | Category.Unused -> false
                  | _ -> true)
  
          let getLineRange spans =
              let typeCheckerSpans = getTypeCheckerSpans spans
  
negative.code: 
      let newCancellationToken (currentToken: Atom<CancellationTokenSource option>) =
          let newToken = new CancellationTokenSource()
          currentToken.Swap (fun _ -> Some newToken)
          |> Option.iter (fun oldToken ->
              oldToken.Cancel()
              oldToken.Dispose())
  