improve NTuple show and cleanup code for Vararg and NTuple type parameter construction (#51244)
Various simplifications and improvements from investigating #51228.
Improves the logic for showing of NTuple to handle constant lengths.
Improves the logic for showing NTuple of bound length (e.g. NTuple
itself). Also makes a choice to avoid showing non-types as NTuple, but
instead try to write them out, to make it more visually obvious when the
parameters have been swapped.
---------
Co-authored-by: Jameson Nash <vtjnash@gmail.com>