// Just a named container for our op, so it can have impls pub struct NominalOp { op: T } impl NominalOp: Clone { fn clone(&self) -> NominalOp { copy *self } }