             }
         }
         
-        return true
+        return offset == count
     }
 }

            let type = pointer.pointee
            advance(1)
            
            // Key
            advance(storage.cString(at: offset))
            
            // Value
            switch type {
            case 0x00:
                return offset == count
            case .double:
                advance(8)
            case .string:

                return false
            }
            
            let stringLength = pointer.int32
            
            // Minimum a null terminator
            guard stringLength >= 1, pointer[numericCast(stringLength &- 1 &+ 4)] == 0x00 else {
                return false
            }
            
            // int32 contains the entire length, including null terminator
            advance(numericCast(4 &+ stringLength))
            
            return true
        }
