Assorted cleanups to macro implementations and project structure

Exclude "uint" and "int" from here