         case .binary: data.append(0x62)
         case .uuid: data.append(0x67)
         case .array: data.append(0x61)
-        case .dictionary: data.append(0x64)
-        case let .unknown(type): data.append(type)
+        default: return
         }
         data.append(self.data)
     }

        switch type {
        case .null: return "nil"
        case .boolean: return "\(boolValue!)"
        case .string: return "\"\(stringValue!)\""
        case .signed: return "\(int64Value!)"
        case .unsigned: return "\(uint64Value!)"
        case .number: return "\(doubleValue!)"

    }
    
    @inlinable
    subscript(keyValuePairs index: Int) -> (String, SDObject)? {
        
        guard type == .dictionary else { return nil }
