core llvm: represent conversion errors with a proper data type