I had read this before sending this message. The discussion you mention concerns leaking named redirections from function calls. This is not what I was trying to say. I was talking about the difference in behaviour between the creation and the destructions of the fd. There is also the difference in behaviour between builtins and external programs that confuses me, but in this case I just wanted to understand the creation and the destruction. Imho, since it is by design, there should be a mention of this is the documentation. I'm probably nitpicking, but the reasoning behind this is not obvious to me.
Thanks,