Alright, but given that `countTrailingZeros` was initially (?) written for `BitArray`, which specifcally operates on `size_t`, I'd think it would still be worth using `bsf` for whichever size `size_t` currently is, just for `BitArray`. Unless the 0-case branch is too expensive?

I'll try toying around with this on my end. If I don't see any serious difference in speed, then this is fine for me. It just seems odd to not use something that was specifically built into the compiler for that very purpose.