Research C's history on "function prototypes" and "_Atomic" and see for yourself if a code generator works better when it can take advantage of these.
The answer to most of your questions is simply: Yes. See for example <https://forum.nim-lang.org/t/10933> Yes, really, Nim can do embedded development even though it uses such novel and dangerous ideas like automatic storage management and exception handling.
