cleanup
recursive diff for added / removed collection elements