Thanks. I appreciate that adding interp * to a C struct is slower than passing it on C stack, but it's faster than dTHX and avoids passing it on the stack for systems that don't need it (plain unix stdio), so it seems like a good option.

I'm unclear if you're saying that you will implement your dNFTHX suggestion.