anchor.diff:      /// Note that this function takes care of appropriate locking
       /// </summary>
       member x.EvaluateAlways (caller : IAdaptiveObject) (f : unit -> 'a) =
  -        evaluate x caller None f
  +        x.evaluate caller None f
   
   
       member x.Id = id
  
positive.code:     /// Note that this function takes care of appropriate locking
      /// </summary>
      member x.EvaluateIfNeeded (caller : IAdaptiveObject) (otherwise : 'a) (f : unit -> 'a) =
          evaluate x caller (Some otherwise) f
  
      /// <summary>
      /// utility function for evaluating an object even if it
  
negative.code: 
      static let time = AdaptiveObject() :> IAdaptiveObject
      
      member inline private this.evaluate (caller : IAdaptiveObject) (otherwise : Option<'a>) (f : unit -> 'a) =
          Telemetry.timed EvaluationOverheadProbe (fun () ->
              let depth = curerntEvaluationDepth.Value
              let top = isNull caller && !depth = 0 && not Transaction.HasRunning
  