Hi Liu, thanks, this also seems correct. I originally thought that (in your example) ptr would be marked as pointing to { ESCAPE NONLOCAL } and that would be enough to hinder some optimizations that might influence variable value. Therefore, it wasn't necessary to mark "value" as pointing to { ESCAPE NONLOCAL }. But now I see that that's not the case and value needs to also point to { ESCAPE NONLOCAL }.
Thanks!