Martin's monster merge part 2/N: partial de-cythonization

This moves some Cython code back to Python.

Should be reviewed/applied after part 1.

Merge request reports

Loading