code: func NewSubnet(a Address, m AddressMask) (Subnet, error) {
  	if len(a) != len(m) {
  		return Subnet{}, errSubnetLengthMismatch
  	}
  	for i := 0; i < len(a); i++ {
  		if a[i]&^m[i] != 0 {
  			return Subnet{}, errSubnetAddressMasked
  		}
  	}
  	return Subnet{a, m}, nil
  }
docs: // NewSubnet creates a new Subnet, checking that the address and mask are the same length.