         }
     }
     
-    private func numberToString(_ number: SupportedNumber) -> String {
+    private static func numberToString(_ number: SupportedNumber) -> String {
         if let bool = number.bool {
             return "\(bool)"
         } else if let double = number.double {

    }
    
    public func typedDeserialize(_ data: Any) -> SupportedType {
        return deserializeToSupportedType(data)
    }
    
    public func deserialize(_ data: Data) -> SupportedType {
        return typedDeserialize((try? JSONSerialization.jsonObject(with: data, options: .allowFragments)) ?? NSNull())
    }
    
    private func serializeToAny(_ supportedType: SupportedType) -> Any {
        switch supportedType {
        case .null:
            return NSNull()

        case .string(let value):
            data = "\"\(value)\"".data(using: .utf8)
        case .number(let value):
            data = JsonSerializer.numberToString(value).data(using: .utf8)
        default:
            data = try? JSONSerialization.data(withJSONObject: typedSerialize(supportedType))
        }
