Why don't you make `RawUsageData` a `HashSet<T>` and call `UnionWith()` to merge in-place?