   public func testUnmanaged()
   {
     var i = UInt.randomPositive()
-    var a = AtomicReference(Thing(i))
+    var a = AtomicReference(Witness(i))
     do {
       let r1 = a.swap(.none)
       print("Will release \(i)")

{
  let id: UInt
  init(_ x: UInt = UInt.randomPositive()) { id = x }
  deinit { print("Released     \(id)") }
}


    }

    i = UInt.randomPositive()
    XCTAssert(a.swap(Witness(i)) == nil)
    print("Releasing    \(i)")
    XCTAssert(a.swap(nil) != nil)

    i = UInt.randomPositive()
    XCTAssert(a.storeIfNil(Witness(i)) == true)
    let j = UInt.randomPositive()
    print("Will drop    \(j)")
    // a compiler warning is expected for the next line
    XCTAssert(a.swapIfNil(Witness(j)) == false)

    do {
      let v = a.load()
