Checking for changed? is incorrect, because foreign references are not reflected by it.