I think this could be 
```rust
let x = do lhs.iter().zip(rhs.iter()).fold(Zero::zero()) |acc, (&l, &r)| { 
    acc | (l ^ r) 
};
```
which will save the bounds checks.