Could this match arm be:

```rust
for (i, (&gl, &expected)) in group_lens.iter().zip(UuidGroupLens.iter()).enumerate() {
    if gl != expected {
        return Err(ErrorInvalidGroupLength(i, gl, expected))
    }
}
```

(At the very least, one can and should avoid the two allocations from the `.collect()` calls here.)