--- a/src/operator_arithmetic.rs Mon May 12 19:30:41 2025 -0500 +++ b/src/operator_arithmetic.rs Mon May 12 20:40:14 2025 -0500 @@ -99,8 +99,7 @@ type Codomain = M::Codomain; fn apply<I: Instance<Domain>>(&self, x: I) -> Self::Codomain { - let xr = x.ref_instance(); - self.0.iter().map(|c| c.apply(xr)).sum() + x.eval_ref_decompose(|xr| self.0.iter().map(|c| c.apply(xr)).sum()) } } @@ -113,7 +112,6 @@ type Derivative = M::DerivativeDomain; fn differential_impl<I: Instance<Domain>>(&self, x: I) -> Self::Derivative { - let xr = x.ref_instance(); - self.0.iter().map(|c| c.differential(xr)).sum() + x.eval_ref_decompose(|xr| self.0.iter().map(|c| c.differential(xr)).sum()) } }