This seems to be very close to the __reduce__ idea I posted on this thread a couple of days ago. Why not extend it to fully support this standard Python protocol ?
Because it is not clear, to me, what specifically the semantics of this protocol is. I wrote it to support MacOS calldll. I cannot see applicability beyond this API.
One of the strength of OO and polymorphism is precisely that users can freely extend the protocols that their objects support, without requiring *all* objects to support the protocol. A standard protocol should be clearly useful cross-platform, for many different types, in different applications.