loop-recur assignment