     XCTAssert(readUInt64 != randUInt64)
     XCTAssert(randUInt64 == storUInt64.value)
 
+    let randRPtr = UnsafeRawPointer(bitPattern: nzRandom())
+    var storRPtr = AtomicRawPointer()
+    let readRPtr = storRPtr.swap(randRPtr)
+    XCTAssert(readRPtr != randRPtr)
+    XCTAssert(randRPtr == storRPtr.pointer)
+
+    let randMRPtr = UnsafeMutableRawPointer(bitPattern: nzRandom())
+    var storMRPtr = AtomicMutableRawPointer()
+    let readMRPtr = storMRPtr.swap(randMRPtr)
+    XCTAssert(readMRPtr != randMRPtr)
+    XCTAssert(randMRPtr == storMRPtr.pointer)
+
     let randPtr = UnsafePointer<CGPoint>(bitPattern: nzRandom())
     var storPtr = AtomicPointer(UnsafePointer<CGPoint>(bitPattern: nzRandom()))
     let readPtr = storPtr.swap(randPtr)

    XCTAssert(randUInt64.CAS(current: 0, future: randUInt64.value) == false)
    XCTAssert(randUInt64.CAS(current: randUInt64.value, future: storUInt64, type: .weak))
    XCTAssert(randUInt64.value == storUInt64)

    var randPtr = AtomicPointer(UnsafePointer<CGPoint>(bitPattern: nzRandom()))
    let storPtr = UnsafePointer<CGPoint>(bitPattern: nzRandom())

    storUInt64.store(randUInt64)
    XCTAssert(randUInt64 == storUInt64.value)

    let randRPtr = UnsafeRawPointer(bitPattern: nzRandom())
    var storRPtr = AtomicRawPointer()
    storRPtr.store(randRPtr)
    XCTAssert(randRPtr == storRPtr.pointer)

    let randMRPtr = UnsafeMutableRawPointer(bitPattern: nzRandom())
    var storMRPtr = AtomicMutableRawPointer()
    storMRPtr.store(randMRPtr)
    XCTAssert(storMRPtr.pointer == randMRPtr)
    
    let randPtr = UnsafePointer<CGPoint>(bitPattern: nzRandom())
    var storPtr = AtomicPointer(UnsafePointer<CGPoint>(bitPattern: nzRandom()))
    storPtr.store(randPtr)
