I don't because I write in C, I do not write in GNU-C.
>>4
Yes.
>>5,6
That is not a closure, GNU-C nested functions as implemented in GCC does not work as closures.
>>10
Your optimization is invalid since puts might not return the same thing printf would do.