This allows the implementation of these types to change without requiring a rebuild of everything that includes the macro interpreter header.
This allows the implementation of these types to change without requiring a rebuild of everything that includes the macro interpreter header.