The enhancement request was to do what I have done: iterate sparse bit sets. If the array isn't sparse then the user would iterate normally (like you have done).

For empty BitArrays, my way is ~72x faster.
For full BitArrays, my way is ~4x slower.
For most other arrays, my way is ~2x slower, but speeds up when it can skip whole words.

I'll see if I can speed it up for the average case.