pub fn generic_patch<T>(old: &T, diff: &<T::Repr as Diff>::Diff) -> Twhere T: GenericRepr + Clone, T::Repr: Patch,
Apply a structural diff to transform a value via its generic representation.