pub trait OperationGenerator {
type O1: Operation;
type O2: Operation;
// Required method
fn generate(&mut self, device: &Device) -> (Self::O1, Self::O2);
}pub trait OperationGenerator {
type O1: Operation;
type O2: Operation;
// Required method
fn generate(&mut self, device: &Device) -> (Self::O1, Self::O2);
}