Invokable was introduced as a JS-interop to provide a way to invoke any-arity JVM functions with any arbitrary arguments. This mechanism exists as a convenience, but shouldn't be used when we're able to explicitly type the function appropriately on the JVM and decode it as such, i.e. (arg1: Boolean, arg2: String) -> String vs Invokable<String>.
Invokable is used quite frequently in the code base, we should replace all usages where we can properly define the function and add a warning for Invokable usage given it's a back-door.
Invokablewas introduced as a JS-interop to provide a way to invoke any-arity JVM functions with any arbitrary arguments. This mechanism exists as a convenience, but shouldn't be used when we're able to explicitly type the function appropriately on the JVM and decode it as such, i.e.(arg1: Boolean, arg2: String) -> StringvsInvokable<String>.Invokableis used quite frequently in the code base, we should replace all usages where we can properly define the function and add a warning forInvokableusage given it's a back-door.