This has one huge advantage - all the geometry algorithms then can work over symbolic rings as well as over normal floats, meaning that they can be used also for processing the points that were already converted for rendering.
Split out cyclotomic/geometry into higher level then, once the code works generically also over float (pairs).