allow C macros to refer to identifiers that do not yet exist
prevent self-referencial defines in C parsing
make C module use single module
end compilation if validate or sema fails
validate New expression and stack alloc expression

eg: var s = MyStruct()
fixed missing retain on assignment