allow out-of-lexial-order execution of use/assign vars in loops