Wouldn't it make more sense to call IniFile::Section::Delete(key) to remove the redundant values? Until recently I saw at least one setting that was not explicitly written back.