func (s *bitMask) IsNarrowerThan(mask BitMask) bool {
	if s.Count() == mask.Count() {
		if *s < *mask.(*bitMask) {
			return true
		}
	}
	return s.Count() < mask.Count()
}
// IsNarrowerThan checks if one mask is narrower than another.
//
// A mask is said to be "narrower" than another if it has lets bits set. If the
// same number of bits are set in both masks, then the mask with more
// lower-numbered bits set wins out.
IsNarrowerThan checks if one mask is narrower than another.

A mask is said to be "narrower" than another if it has lets bits set. If the
same number of bits are set in both masks, then the mask with more
lower-numbered bits set wins out.
// IsNarrowerThan checks if one mask is narrower than another . // // A mask is said to be " narrower " than another if it has lets bits set . If the // same number of bits are set in both masks then the mask with more // lower - numbered bits set wins out .
func (s *bitMask) IsNarrowerThan(mask BitMask) bool {
	if s.Count() == mask.Count() {
		if *s < *mask.(*bitMask) {
			return true
		}
	}
	return s.Count() < mask.Count()
}
func ( s * bitMask ) IsNarrowerThan ( mask BitMask ) bool { if s . Count ( ) == mask . Count ( ) { if * s < * mask . ( * bitMask ) { return true } } return s . Count ( ) < mask . Count ( ) }
IsNarrowerThan checks if one mask is narrower than another.
IsNarrowerThan checks if one mask is narrower than another .