I've been manually writing some LLVM IR recently to prepare for a project involving JIT compilation, and LLVM's type system is actually shockingly expressive. The majority of the problems I run into are the fact that you have to copy-paste more often and that leads to errors.
I wouldn't recommend anyone write real code using LLVM IR, but it's not as bad as you'd expect.
I wouldn't recommend anyone write real code using LLVM IR, but it's not as bad as you'd expect.