@lritter interesting perspective. I would rather deal with the lack of C ABI support in LLVM bitcode than deal with C language limitations.
anyway, given this, maybe targeting zig isn't such an awful idea after all since it does solve the C ABI problem and has well-defined semantics for various things that are compiler extensions in C, such as arbitrary-width integers, all float sizes on all targets, SIMD, and various other things.