Requires enabling [cython tracing](https://cython.readthedocs.io/en/latest/src/tutorial/profiling_tutorial.html#enabling-coverage-analysis) Best to do #17 first.