Reply to Jarrett,
I think what's going on here is that the compiler will *only* allocate closures for nested functions. However allocating a closure for a delegate of a value object would be a nice addition.
This will quickly devolve into the general escape analysts problem and here there be dragons. I think the correct solution is to say it's unsupported by calling this an escaping reference bug in the user code.