" the C backend needs to know about --newruntime and produce different code for string, seqs and refs. Since these additions introduce many more try statements, it's wise to base this work on the C++ codegen, not the pure C codegen. Otherwise it seems unrealistic to get competitive performance."