anchor.diff:              | (false, true) -> 
                   map (fun a -> f a (m2.GetValue())) m1
               | (false, false) ->
  -                let f = scoped2 f
                   let res = LazyMod(fun () -> f (m1.GetValue()) (m2.GetValue()))
                   m1.AddOutput res
                   m2.AddOutput res
  
positive.code:         if m.IsConstant then
              m.GetValue() |> f :> IMod<_>
          else
              let f = scoped f
              let inner : ref<Option<'a * IMod<'b>>> = ref None
  
  
  
negative.code:         let scope = Ag.getContext()
          fun v -> Ag.useScope scope (fun () -> f v)
  
  
      let private callbackTable = ConditionalWeakTable<IMod, ConcurrentHashSet<IDisposable>>()
      /// <summary>
  