Can I finish my study of HareC's code generation this morning?
For the delete() builtin it compiles the arg in 1 of 2 ways with autoderef, retrieves data on the slice & the optional subslice expression, constructs some temporaries, outputs index calculations, outputs a memmove call, outputs updates to the slice properties, & possibly outputs a unensure() call.
For for-loops it generates several labels, possibly retrieves a binding from the AST, maybe compiles a binding in the usual way, ...
1/