anchor.diff:                      b, dirty
               )
       
  +        member x.Reset() =
  +            initial <- true
  +            dirty <- RangeSet.empty
  +
           member x.AddDirty (r : Range1i) =
               Interlocked.Change(&dirty, RangeSet.insert r) |> ignore
   
  
positive.code:                                 for b in buffers.Values do b.RemoveGeometry(g)
                                  manager.Free ptr
                                  ptrs.Remove g |> ignore
                              | _ ->
                                  ()
  
  
negative.code:                         dirtyGeometries.Remove geometry |> ignore
                      | _ ->
                          ()
  
          member x.Reset() =
              Marshal.FreeHGlobal storage
              storage <- 0n
              dirtyGeometries.Clear()
              lock readers (fun () -> for r in readers do r.Reset())
  
          override x.Compute() =
              let ptrs, capacity = input.GetValue(x)
  