//! [`CloneAnd`]: clone a value, mutate the clone, and return it.
/// Adds `clone_and(f)`: clone `self`, apply the mutation `f`, and return
/// the modified clone — for building variants without mutating the original.
pubtraitCloneAnd where Self: Clone {fnclone_and<F>(&self, f: F)->Selfwhere F: FnOnce(&mutSelf){letmut cloned =self.clone();f(&mut cloned);
cloned
}}impl<T> CloneAnd forTwhere T: Clone {}