Why would someone want to use a nested function, practically speaking?
What about your older patch where -fno-trampolines meant a function pointer could either be a code pointer or a closure (descriptor) pointer, distinguished by a tag?
What's a "trampoline"?
Why would someone want to use a nested function, practically speaking?