A workaround if you are on the app store version or an older beta would be to replace this line in an objc_util.py that you put in site packages. If you have an old beta, just upgrade to latest testflight version

I don't understand what you were asking about OSType...is that a separate question? I did not see any code that uses it.

I think you also need to wrap availableEffects in an ObjCInstance. You've set the restype for the ObjCInstanceMethod to c_void_p, you need to wrap that in an ObjCInstance before you can call methods, access NSArray elements, etc.

Also, the second parameter of instantiateWithComponentDescription_options_completionHandler_ is a c_uint32. You need to pass 0, not [].

Note very carefully your first argument. look at what you are passing to ObjCInstance - it is not a pointer to an object.
availableEffects is probably a c_void_p. You need to convert that to a NSArray using ObjCInstance, before you try to index into it.

ObjCInstance(availableEffects)[0]

Then, take the resulting structure and index into it. Since that type is not a object, you won't use ObjCinstnce. Your best bet is to actually look at things in the debugger or console, so you know what you are dealing with. Also, I find it useful to break up these massive oneliners into multiple statements, so you can easier identifier your own bugs.