how about just "for key in m_keys - c_keys" here, im not seeing what the "if diff_add" is getting us, same for diff_del, diff_change, also in _compare_indexes().  the code here seems too wordy for what its trying to do