Avoid reimplementing amortized growth, and generally make the code friendlier with the improved BitVector class.