We need to choose the lesser of two evils, in that case. A function that changes the value of a variable in outer scope is pretty near the top of the evil list.