Quick thing I forgot to mention, signature for this is ``PyObject_CallFunctionObjArgs(PyObject* callback, ...)`` and Python will scan the vargs (which it has no idea how many of which it will be), until it finds the first ``NULL``. This we can cheat and set ``extra == NULL`` and get the right behavior. Technically there is nothing wrong with this trick, but might be a bit surprising.

Reason for choosing this is that it is really simple, while many of the other variants wound up being way more complicated in the end.