I've revamped the BitSet package.
It now takes a stronger view of these as a 'set of (boolean) bits', so some of the methods for treating these as strings of bits are gone. (Better to use the big package, especially with recent revisions, for that).
BitSets will now grow dynamically to the largest set bit.
Many of the methods return *BitSet, so chaining is possible.
The SetBit and Bit methods were changed to Set and Test. ClearBit is now Clear, and the method to clear all bits is ClearAll
The underlying word size was changed to 32 bits. This was slightly faster in my benchmarks than 64 bit words. I'd be glad to know if (a) people think this was a mistake, and (b) if there is a way to adjust the word size based on the underlying architecture.
As always, comments are appreciated. I'm sure there are some remaining infelicities.
Will