PyObject* operator()(PyObject* args, PyObject* keywords) { return incref( object( f(tuple(borrowed_reference(args)), dict(borrowed_reference(keywords))) ).ptr() ); }
PyObject* operator()(PyObject* args, PyObject* keywords) { borrowed_reference_t* ra = borrowed_reference(args); object a(ra); return incref( object( f( object(a[0]) , object(a.slice(1, len(a))) , keywords ? dict(borrowed_reference(keywords)) : dict() ) ).ptr() ); }