code: func NextSubnet(network *net.IPNet, prefixLen int) (*net.IPNet, bool) {
  	_, currentLast := AddressRange(network)
  	mask := net.CIDRMask(prefixLen, 8*len(currentLast))
  	currentSubnet := &net.IPNet{IP: currentLast.Mask(mask), Mask: mask}
  	_, last := AddressRange(currentSubnet)
  	last = Inc(last)
  	next := &net.IPNet{IP: last.Mask(mask), Mask: mask}
  	if last.Equal(net.IPv4zero) || last.Equal(net.IPv6zero) {
  		return next, true
  	}
  	return next, false
  }
docs: // NextSubnet returns the next available subnet of the desired mask size
  // starting for the maximum IP of the offset subnet
  // If the IP exceeds the maxium IP then the second return value is true