--- a/src/direct_product.rs Tue Dec 31 23:34:47 2024 -0500 +++ b/src/direct_product.rs Tue Dec 31 23:49:09 2024 -0500 @@ -282,12 +282,9 @@ F : Num, Self : MulAssign<F>, Pair<A, B> : MulAssign<F>, - Pair<A::Owned, B::Owned> : AXPY<F, Pair<U, V>>, { - type Owned = Pair<A::Owned, B::Owned>; - - fn add_mul<I : Instance<Pair<U,V>>>(self, α : F, x : I, β : F) -> Self::Owned { + fn add_mul<I : Instance<Pair<U,V>>>(self, α : F, x : I, β : F) -> Pair<U, V> { let Pair(u, v) = x.decompose(); Pair(self.0.add_mul(α, u, β), self.1.add_mul(α, v, β)) } @@ -311,7 +308,7 @@ } /// Return a similar zero as `self`. - fn similar_origin(&self) -> Self::Owned { + fn similar_origin(&self) -> Pair<U, V> { Pair(self.0.similar_origin(), self.1.similar_origin()) }