anchor.diff:      xSymbolUseAfterChange1.IsSome |> shouldEqual true  
       let xSymbolAfterChange1 = xSymbolUseAfterChange1.Value.Symbol
   
  -    let wholeProjectResults2AfterChange1 = checker.ParseAndCheckProject(MultiProjectDirty2.getOptions()) |> Async.RunSynchronously
  -
  +
  +    printfn "Checking project 2 after first change, options = '%A'" proj2options
       System.Threading.Thread.Sleep(1000)
  +
  +    let wholeProjectResults2AfterChange1 = checker.ParseAndCheckProject(proj2options) |> Async.RunSynchronously
  +
       count.Value |> shouldEqual 4
   
       let usesOfXSymbolInProject1AfterChange1 = 
  
positive.code: 
      printfn "Symbol found. Checking symbol uses in another project..."
  
      let wholeProjectResults2 = checker.ParseAndCheckProject(MultiProjectDirty2.getOptions()) |> Async.RunSynchronously
  
      count.Value |> shouldEqual 2
      
      let _ = checker.ParseAndCheckProject(MultiProjectDirty2.getOptions()) |> Async.RunSynchronously
  
      count.Value |> shouldEqual 2 // cached
  
  
negative.code:     printfn "Current time: '%A', ticks = %d"  wt0 wt0.Ticks
      printfn "Old write time: '%A', ticks = %d"  wt1 wt1.Ticks
      printfn "New write time: '%A', ticks = %d"  wt2 wt2.Ticks
      System.Threading.Thread.Sleep(1000)
  
      let wholeProjectResults1AfterChange1 = checker.ParseAndCheckProject(proj1options) |> Async.RunSynchronously
      count.Value |> shouldEqual 3
  
      let backgroundParseResults1AfterChange1, backgroundTypedParse1AfterChange1 = 
  