anchor.diff:      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)
       
  
positive.code:         for e in set do content <- e::content
          set.Clear()
          content
  
      member x.IsContained e = contained.Contains e
      static member internal InAnyOfTheTransactionsInternal e =
  
negative.code:         /// the given default value is returned.
          /// Note that this function takes care of appropriate locking
          /// </summary>
          member x.EvaluateIfNeeded (caller : IAdaptiveObject) (otherwise : 'a) (f : unit -> 'a) =
              x.evaluate caller (Some otherwise) f
  
          /// <summary>
  