
we'll also want to look at collections.UserDict, collections.ChainMap, and types.MappingProxyType.
UserDict has already been updated in the PR (it has tests that fail if it doesn't have all of dict's methods). I'll look into the others... thanks for reminding me!
collections.Mapping and collections.MutableMapping could provide concrete method implementations that make subclasses behave in a way that's similar to built-in dicts
Hm, haven't thought too much about this (I don't have much experience with the ABCs). Would they return dicts, or call the self.copy and self.update methods? Those are just hypothetical questions for now; I don't necessarily want to dig too far into that discussion again. But I agree that it's definitely worth considering. ;)