anchor.diff:          | Some builder -> builder.IncrementUsageCount() 
           | None -> { new System.IDisposable with member __.Dispose() = () }
   
  -    member builder.IsBeingKeptAliveApartFromCacheEntry = (!referenceCount >= 2)
  -
  +    member builder.IsBeingKeptAliveApartFromCacheEntry = (referenceCount >= 2)
  +
  
positive.code: 
      member this.IncrementUsageCount() = 
          assertNotDisposed() 
          System.Threading.Interlocked.Increment(referenceCount) |> ignore
          { new System.IDisposable with member x.Dispose() = this.DecrementUsageCount() }
  
      member this.DecrementUsageCount() = 
          assertNotDisposed()
          System.Threading.Interlocked.Decrement(referenceCount) |> ignore
          if !referenceCount = 0 then 
                  disposed <- true
                  disposeCleanupItem()
  
      member __.IsAlive = !referenceCount > 0
  
      member __.TcConfig = tcConfig
      member __.FileParsed = fileParsed.Publish
  
negative.code:     let assertNotDisposed() =
          if disposed then  
              System.Diagnostics.Debug.Assert(false, "IncrementalBuild object has already been disposed!")
      let mutable referenceCount = 0
  
      //----------------------------------------------------
      // START OF BUILD TASK FUNCTIONS 
  