change method
Omits unchanged fields and builds assignments for the other cases.
Implementation
List<Assignment> change(Change<T> change) => switch (change) {
_Keep<T>() => [],
_Set<T>(:final value) => [set(value)],
_Default<T>() => [defaultValue()],
};