The old code didn't do the 'in' test. It just tried to access the field and let python generate the KeyError:
                return self._data[key.field_name]

I suppose this could do that too. I'm not sure why I changed it. Either way, it will lead to invoking InheritanceKeyValueStore.default(); so, idk that it matters.