     }
     
     open func exchangeObject(at idx1: Int, withObjectAt idx2: Int) {
-        guard idx1 < count && idx1 >= 0 && idx2 < count && idx2 >= 0 else {
-            fatalError("\(self): Index out of bounds")
-        }
-
         let object1 = self.object(at: idx1)
         let object2 = self.object(at: idx2)
         _orderedStorage[idx1] = __SwiftValue.store(object2)

        guard aCoder.allowsKeyedCoding else {
            preconditionFailure("Unkeyed coding is unsupported.")
        }
        for idx in 0..<self.count {
            aCoder.encode(__SwiftValue.store(self.object(at: idx)), forKey:"NS.object.\(idx)")
        }
    }

    }

    open func object(at idx: Int) -> Any {
        _validateSubscript(idx)
        return __SwiftValue.fetch(nonOptional: _orderedStorage[idx])
    }

