--- a/src/sets.rs Mon May 12 19:30:41 2025 -0500 +++ b/src/sets.rs Mon May 12 20:40:14 2025 -0500 @@ -36,10 +36,7 @@ U: Num + PartialOrd + Sized, { fn contains<I: Instance<Loc<N, U>>>(&self, item: I) -> bool { - self.0 - .iter() - .zip(item.ref_instance().iter()) - .all(|(s, x)| s.contains(x)) + item.eval_ref_decompose(|r| self.0.iter().zip(r.iter()).all(|(s, x)| s.contains(x))) } } @@ -151,7 +148,6 @@ F: Float, { fn contains<I: Instance<A>>(&self, item: I) -> bool { - let r = item.ref_instance(); - self.0.iter().all(|halfspace| halfspace.contains(r)) + item.eval_ref_decompose(|r| self.0.iter().all(|halfspace| halfspace.contains(r))) } }