Major refactoring moving to BitArray using BiSet.
Still work in progress, sign is broken here.
More work on figuring out why sign is not working