I have already tried. There were complications: The two C-files (for 2D and 3D) contain functions with the same names. This should in principle be fixed by declaring the functions `static` (that will not export them beyond the file scope), but as soon as I introduce `static`, all the tests start segfaulting (even without combining the modules). I agree that one module would be cleaner, but I decided that the gain in cleanliness was unlikely to be worth the effort in debugging.

If you would like to debug the segfaults for me, I think I have the commit introducing `static` declarations lying around somewhere; so I could push it to a separate branch for you...