         return pointers
     }
     
-    func scanStrings() -> String[] {
+    func scanStrings() -> [String] {
         let lowerBound: UInt8 = 32
         let upperBound: UInt8 = 126
         
-        var current = UInt8[]()
-        var strings = String[]()
+        var current = [UInt8]()
+        var strings = [String]()
         func reset() {
             if current.count >= 4 {
                 let str = NSMutableString(capacity: current.count)

    
    func recursiveDump(p: Printer) {
        var entryColorIndex = 0
        let entryColors: PrintColor[] = [ .Red, .Green, .Yellow, .Blue, .Magenta, .Cyan ]
        func nextColor() -> PrintColor {
            return entryColors[entryColorIndex++ % entryColors.count]
        }

            length = knownSize!
        }
        
        var result = [UInt8](count: length, repeatedValue: 0)
        let success = readIntoArray(ptr, result)
        return (success
            ? Memory(buffer: result, isMalloc: isMalloc)
            : nil)
    }
    
    func scanPointers() -> [PointerAndOffset] {
        var pointers = [PointerAndOffset]()
        buffer.withUnsafePointerToElements {
            (memPtr: UnsafePointer<UInt8>) -> Void in
            
