def subnet(subprefix)
      unless ((@prefix.to_i)..128).include? subprefix
        raise ArgumentError, "New prefix must be between #@prefix and 128"
      end
      Array.new(2**(subprefix-@prefix.to_i)) do |i|