         
         let firstAddr: Pointer = Pointer(address: unsafeBitCast(ptr, UInt.self))
         let firstEntry = ScanEntry(parent: nil, parentOffset: 0, address: firstAddr, index: 0)
-        seen[firstAddr] = true
+        seen[firstAddr] = ()
         toScan.append(firstEntry)
         
         while toScan.count > 0 && count < limit {


func scanmem<T>(var x: T, limit: Int) -> ScanResult {
    var count = 0
    var seen = Dictionary<Pointer, Bool>()
    var toScan = Array<ScanEntry>()
    
    var results = Dictionary<Pointer, ScanResult>()

                for pointerAndOffset in pointersAndOffsets {
                    let pointer = pointerAndOffset.pointer
                    let offset = pointerAndOffset.offset
                    if seen[pointer] == nil {
                        seen[pointer] = ()
                        let newEntry = ScanEntry(parent: entry, parentOffset: offset, address: pointer, index: count)
                        toScan.insert(newEntry, atIndex: 0)
                    }
