Bike shedding time! Are the names `Copy`, `Insert`, `Remove`, `Change` based on some convention? I find `Copy` confusing - to me it sounds like maybe an element has been duplicated, as in `diff([A], [A, A])` would yield `[Copy(0), Copy(0)]` or something like that. Maybe `Identical` or `Same` is a better name? `Change` also seems a bit generic. `Replace` sounds better to my ears.