Just to follow up on this, here are the subclasses I've found.
Should be updated:
- collections.OrderedDict
- collections.defaultdict
- http.cookies.BaseCookie
- http.cookies.Morsel
- http.cookies.SimpleCookie
They're not dict subclasses, but we'll also want to look at collections.UserDict, collections.ChainMap, and types.MappingProxyType.
Finally, while the PEP quite reasonably doesn't propose making __or__ a *required* part of the mutable mapping API, collections.Mapping and collections.MutableMapping *could* provide concrete method implementations that make subclasses behave in a way that's similar to built-in dicts by default.
Cheers,
Nick.