This would fix #408, but may not be ideal.
- Methods
__delitem__, __setitem__ (with check_equality=True), and __getitem__ need be updated
- Even
__iter__ might need to call __getitem__ to ensure consistency, or we still can't promise they are in sync
- Users can manually sync via simply
self.update(self._data) if needed
However, without this, direct modifications to __dict__ or globals() still won't be accessible through __getattr__, as noted in #211—this should be considered.