I would like to see some form of assertions that the elements are distinct, i.e. no two elements have identical values. I don't really know how to do it. I wonder if the following works:

```rust
impl $BitSet {
     #[test]
     fn assert_distinct() {
          let v = [$( $Element ),*];
          for (i, x) in v.slice_to(v.len() - 1).iter() {
               for y in v.slice_from(i + 1).iter() {
                   assert!(x != y, "Two bitset elements with equal values: {}", x);
               }
          }
     }
}
```
(It would be nice to get the element name: I guess you could imitate that loop with a recursive macro consuming `$($Element)` progressively too.)