While I agree with you at some points, I wouldn't consider an extra scope unnecessarily complicated. This idiom is all the rage right now and is being incorporated into other languages. C# already...