Example, source file ```root.c``` includes includes ```port.h```, which includes ```longdouble.h```, which includes ```real_t.h```.  However, ```real_t.h``` depends on ```mars.h``` being included first for definitions of d_uns64, etc.

This can't however be rectified by including ```mars.h``` in ```real_t.h``` because ```mars.h``` includes ```longdouble.h``` which includes ```real_t.h```, etc, etc...

Conclusion? The typedefs in ```mars.h``` needs to be split off out of the header to be put somewhere else so that ```real_t.h``` does not depend on front end headers.   This is work that I have not yet gotten round to doing.