code: func (b *Bitmap) IntersectionCount(other *Bitmap) uint64 {
  	var n uint64
  	iiter, _ := b.Containers.Iterator(0)
  	jiter, _ := other.Containers.Iterator(0)
  	i, j := iiter.Next(), jiter.Next()
  	ki, ci := iiter.Value()
  	kj, cj := jiter.Value()
  	for i && j {
  		if ki < kj {
  			i = iiter.Next()
  			ki, ci = iiter.Value()
  		} else if ki > kj {
  			j = jiter.Next()
  			kj, cj = jiter.Value()
  		} else {
  			n += uint64(intersectionCount(ci, cj))
  			i, j = iiter.Next(), jiter.Next()
  			ki, ci = iiter.Value()
  			kj, cj = jiter.Value()
  		}
  	}
  	return n
  }
docs: // IntersectionCount returns the number of set bits that would result in an
  // intersection between b and other. It is more efficient than actually
  // intersecting the two and counting the result.