Chez Scheme performs the optimization you refer to, in the case where no free variables are referenced in the lambda expression. I see nothing wrong with it, since closing is not an explicit allocation operation in the same sense as cons or make-vector. Kent