> There may be a general rule that functions that make use of free > variables are best programmed in a functional style, where the function > doesn't depend on side-effects to those variables. The troublesome cases tend to be ones where the function depends on *the lack* of side effects to free variables.