;;;; A loop body that moves a binding declared outside the loop: the second ;;;; iteration would use what the first gave away. The dead set alone cannot ;;;; see this — merged once at the end of the body it counts one move, not two ;;;; — so it is a rule, and it is refused with the reason. (defn main [] i32 (let [v (vec-new i32)] (dotimes [i 3] (free v)) 0))