pub trait TwoContainerObject<B: Object>: Object {
// Provided methods
fn and(self, other: B) -> TwoContainer<Self, B>
where Self: Sized { ... }
fn copy_and(self, process: impl FnOnce(Self) -> B) -> TwoContainer<Self, B>
where Self: Sized + Copy { ... }
fn clone_and(self, process: impl FnOnce(Self) -> B) -> TwoContainer<Self, B>
where Self: Sized + Clone { ... }
}