fn diff<T: HasFields>(before: Option<&T>, after: Option<&T>) -> Vec<FieldChange>
The fields that differ between two states of one entity, None for a state where it doesn’t exist; both must be of the same kind.
None