Closures are logical but subtle and you need to make sure that you really understand them. This is made easier if you think about a closure as a preserved execution context. In this extract from my ...
Some results have been hidden because they may be inaccessible to you
Show inaccessible results