I used this to create a thread-safe implementation of `IMap`, with a few additions (https://gitlab.winehq.org/wine/wine/-/merge_requests/8895):
* Split simply returns S_OK and sets `first` and `second` to NULL (Native does this as well). * `IMapView` and `IIterator` get invalidated and simply returned `E_CHANGED_STATE` when the underlying map entries are modified.