@pinskia yep, that’s how it’s supposed to work:
char *foo = strdup("nya"); defer free(foo); return strlen(foo);should be valid and return 3, which seems to match.
so, plan: same thing with messing around on stmt trees, but then modify pop_scope to move them into the finally block, and something something make every scope have an implicit try