Persist type class for types that extends Show2.
Provides the standard string representation for the object. Its called ShowT to indicate this is a type class method that acts upon an object rather than a method on the object being shown.
Simple values such as Int, String, Double have a syntax depth of one. A Tuple3[String, Int, Double] has a depth of 2. Not clear whether this should always be determined at compile time or if sometimes it should be determined at runtime.