pub trait With { // Provided method fn with(self, f: impl FnOnce(Self) -> Self) -> Self where Self: Sized { ... } }
A trait for elements that can be modified.
Applies the given closure to modify the element and return a new copy.