 
   expectEqual(identity1, s._rawIdentifier())
   s.insert(TestKeyTy(4040))
+  expectEqual(identity1, s._rawIdentifier())
+  s.update(with: TestKeyTy(5050))
   expectEqual(identity1, s._rawIdentifier())
 
   // Keep indexes alive during the calls above.

    // Keep variables alive.
    _fixLifetime(s1)
    _fixLifetime(s2)
  }

  do {

  expectEqual(identity1, s1._rawIdentifier())
}

SetTestSuite.test("COW.Fast.UpdateWithDoesNotReallocate") {
  var s1 = getCOWFastSet()

  let identity1 = s1._rawIdentifier()
  let count1 = s1.count

  // Updating an existing element should not create new storage
  s1.update(with: 2020)
  expectEqual(identity1, s1._rawIdentifier())
  expectEqual(count1, s1.count)

  // Updating with new elements should not create new storage
  s1.update(with: 4040)
  s1.update(with: 5050)
  s1.update(with: 6060)
  expectEqual(count1 + 3, s1.count)
  expectEqual(identity1, s1._rawIdentifier())
}

SetTestSuite.test("COW.Slow.InsertDoesNotReallocate") {
  do {
    var s1 = getCOWSlowSet()
