/*SPEC* property unique { \c <: (Container) -> ((for-all-elems c) \a -> ((unique-count? a) c)) } type UniqueCon = {c impl (Container) | (unique c)} *ENDSPEC*/ fn main () { let mut c = UniqueCon::::new(); for x in 0..10 { c.insert(x); c.insert(x); } assert_eq!(c.len(), 10); }