Output Shader GLSL with Instance Texture 2D Array or 3DTexture

Hi magicians
I just found a solution to my mystery behavior, i think it enough interesting for put it here.
When you Output shader like Phong or PBR and have access to the GLSL code to change it, if you used instances texture in your Geo when you output the shader it will be different if you use 3d texture or 2d array or instance texture, you can see those lines :
sampler2DArray(iVert.instanceTextureHandle)
sampler3D(iVert.instanceTextureHandle)
sampler2D(iVert.instanceTextureHandle)
The problem that you can be confronted is : output a shader with instancetexture then try 3d texture after … it is not working.
I share a little scene where you can see 3 output shaders with their different input instance.
Good to know that if you output with 2DArray, it will work with 3D texture too !
TD_3DTexInst.3.toe (9.1 KB)
Hope it gonna helps some !
Cheers