func (b *BitSet) Clone() *BitSet {
	t := &BitSet{}
	t.data = append(t.data, b.data...)
	return t
}
Clone returns a copy of a BitSet
package set
type BitSet struct {
	data []uint64
}
func NewBitSet(size int) *BitSet {
	b := &BitSet{
		data: make([]uint64, size/8+1),
	}
	return b
}