With the new diff.Apply we can keep the diff mostly intact, but we need turn off all RequiresNew flags so that the prior state is not removed from the apply.
Modifying an element loses the modification, and other elements in a TypeList.