anchor.diff:  
           )
   
  -    member x.Dispose() = runFinalizers()
  +    member x.Dispose() = 
  +        runFinalizers()
  +#if DEBUG
  +        isDisposed <- true
  +#endif
   
       interface IDisposable with
           member x.Dispose() = x.Dispose()
  
positive.code:     /// the enqueued changes.
      /// </summary>
      member x.Commit() =
          Telemetry.timed CommitProbe (fun () ->
              // cache the currently running transaction (if any)
              // and make tourselves current.
  
negative.code:     static let emptyArray : IAdaptiveObject[] = Array.empty
      let mutable outputs = emptyArray
  
  #if DEBUG
      let mutable isDisposed = false
  #endif
  
  
      // each thread may have its own running transaction
      static let running = new TrackAllThreadLocal<Option<Transaction>>(fun () -> None)
  