-1 on any changes that make the specific C-API functions less specific. They are perfectly adequate for gaining speed in well defined situations.
+0 on any changes that special case concrete types in abstract calls if they prove to be worth the hassle.
+1 for making sure CPython does not accidentally exclude subclasses internally for anything that's provided by users.
+1 on CPython being the wrong place to work around this for external code. If extensions use the wrong function, *they* must be fixed. At most, there might be a documentation issue hidden here.
Also, we should be careful with adding yet another substantial set of C-API functions. It's not clear to me that they are really needed in practice. |