anchor.diff:  /// </summary>
   [<AllowNullLiteral>]
   type IAdaptiveObject =
  +    inherit IWeakable<IAdaptiveObject>
   
       /// <summary>
       /// the globally unique id for the adaptive object
  
positive.code:         let mutable scope = Ag.getContext()
          let mutable inner = inner
          let mutable callback = fun () -> Ag.useScope scope callback
          do lock inner (fun () -> inner.Outputs.Add this |> ignore)
  
          do lock undyingMarkingCallbacks (fun () -> undyingMarkingCallbacks.GetOrCreateValue(inner).Add this |> ignore )
  
negative.code:                 | :? IAdaptiveObject as o -> x.Id = o.Id
                  | _ -> false
  
          member x.Weak =
              let o = x.WeakThis
              if isNull o then
                  let r = new WeakReference<IAdaptiveObject>(x)
                  x.WeakThis <- r
                  r
              else
                  o
  
          interface IWeakable<IAdaptiveObject> with
              member x.Weak = x.Weak
  
          interface IAdaptiveObject with
              member x.Id = x.Id
              member x.OutOfDate
  