trait TraitD<D, C, B, A> { // Required method fn extend(self, d: &mut D, c: &mut C, b: &mut B, a: &mut A); }