anchor.diff:      /// enqueues an adaptive object for marking
       /// </summary>
       member x.Enqueue(e : IAdaptiveObject) =
  +#if DEBUG
  +        if isDisposed then failwith "Invalid Enqueue! Transaction already disposed."
  +#endif
           Telemetry.timed EnqueueProbe (fun () ->
               if contained.Add e then
                   q.Enqueue e
           )
   
       member x.Enqueue(e : IAdaptiveObject, cause : Option<IAdaptiveObject>) =
  +#if DEBUG
  +        if isDisposed then failwith "Invalid Enqueue! Transaction already disposed."
  +#endif
           Telemetry.timed EnqueueProbe (fun () ->
               if contained.Add e then
                   q.Enqueue e
  
positive.code:     static let emptyArray : IAdaptiveObject[] = Array.empty
      let mutable outputs = emptyArray
  
  
      // each thread may have its own running transaction
      static let running = new TrackAllThreadLocal<Option<Transaction>>(fun () -> None)
  
negative.code:     /// the enqueued changes.
      /// </summary>
      member x.Commit() =
  
  #if DEBUG
          if isDisposed then failwith "Invalid Commit Transaction already disposed."
  #endif
  
          Telemetry.timed CommitProbe (fun () ->
              // cache the currently running transaction (if any)
              // and make tourselves current.
  