anchor.diff:          enter 0
           true
   
  -    member x.ExitWrite(o : obj) = 
  +    member x.ExitWrite(o : IAdaptiveObject) = 
           Monitor.Exit o
   
   /// <summary>
  
positive.code:                 else []
  
              let mutable res = Unchecked.defaultof<_>
              let enterReadWorked = this.Lock.EnterRead this
              let mutable good = false // evaluate works without exception?
  
              depth := !depth + 1
  
negative.code:                 this.Lock.Downgrade this
  
                  if not good then // no level changed exn occured
                      this.Lock.ExitRead()
  
                      if isNull caller then
                          AdaptiveSystemState.popReadLocks oldLocks
                  else
                      // normal case. if we got read lock, capture lock
                      AdaptiveSystemState.addReadLock this.Lock
  
                  depth := !depth - 1
  
  