I don't really like overloading `__iter__()` like this. I'd rather have an `export_dict()` method or something that must be called explicitly. The caller can wrap it in `iter()` if it wants to.