let rec reduce_stmt ~acc stmt =
let self = (reduce_stmt ~acc) in
match stmt.stmt_t with
| CTTstmtCompound(dcls, stmts) ->
let dcls = reduce_ldecls ~acc dcls in
let stmts = list_map_ordered self stmts in
{ stmt with stmt_t = CTTstmtCompound(dcls, stmts) }
| s ->
visit_statement
~v_ldecl:id (* dummy *)
~v_expr:id ~self stmt