anchor.diff:  
           interface IDisposable with
               member x.Dispose() = x.Dispose()
  - 
  +
  +
  +
       /// <summary>
       /// A reader representing "map" operations
       /// NOTE that the reader actually takes a function "a -> list&lt;b&gt;" instead of the
  
positive.code:                                 let r = f.Revoke v
  
                                  // remove the reader from the listen-set
                                  dirtyInner.Destroy r
  
                                  // since the reader is no longer contained we don't want
                                  // to be notified anymore
  
negative.code:         member x.Listen(r : IReader<'a>) =
              // create and register a callback function
              let onMarking () = 
                  lock dirty (fun () -> dirty.Add r |> ignore )
                  subscriptions.TryRemove r |> ignore
  
  
              r.MarkingCallbacks.Add onMarking |> ignore
  
  