I think this part of the code would be cleaner if it where:

```
if (extobj == NULL)
   extobj = Get_ExtObjFromGlobal(...)
_extract_pyvals(extobj);
```

but I think this can be done in another refactoring PR, all this cleaning up gets a bit in the way of the improvement we are trying to add.