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

                return false
            }
            
            // int32 contains the entire length, including null terminator
            advance(numericCast(4 &+ pointer.int32))
            
            return true
        }

            }
        }
        
        return offset == count
    }
}
