code: func (m NetworkNumberMask) Mask(n NetworkNumber) (NetworkNumber, error) {
  	if len(m) != len(n) {
  		return nil, ErrVersionMismatch
  	}
  	result := make(NetworkNumber, len(m))
  	result[0] = m[0] & n[0]
  	if len(m) == IPv6Uint32Count {
  		result[1] = m[1] & n[1]
  		result[2] = m[2] & n[2]
  		result[3] = m[3] & n[3]
  	}
  	return result, nil
  }
docs: // Mask returns a new masked NetworkNumber from given NetworkNumber.