anchor.diff:  /// </summary>
   exception LevelChangedException of IAdaptiveObject
   
  +[<AutoOpen>]
  +module private AdaptiveSystemState =
  +    let isTopLevel = new System.Threading.ThreadLocal<bool>(fun () -> true)
  +
   /// <summary>
   /// Transaction holds a set of adaptive objects which
   /// have been changed and shall therefore be marked as outOfDate.
  
positive.code:     /// the enqueued changes.
      /// </summary>
      member x.Commit() =
          // cache the currently running transaction (if any)
          // and make tourselves current.
          let old = running.Value
  
negative.code:         // when the commit is over we restore the old
          // running transaction (if any)
          running.Value <- old
          isTopLevel.Value <- top
  
  /// <summary>
  /// defines a base class for all adaptive objects implementing
  