>>6I would say that C exposes the hardware details to the programmer, whereas Lisp abstracts them away giving you a pure expression model. Lisp compiler writers create ways to infer types, model ABIs to support the Lisp environment directly in machine code, and so on, and everybody wins.
Now, since the C language itself doesn't give a fuck about machine details but will directly affect the nature of programmer-exposed variable types and operations, it will compile your code for you, but your it will break if the assumptions aren't all correct. Which is common especially since most C code ends up rely on Undefined Behaviorâ„¢.