There are two ways to pretty-print a type in the runtime - TypeHandle::GetName, and TypeString::AppendType. They differ in several ways, with the latter being a richer representation of the type. For example, the latter displays more information about the function pointer and nested classes, whereas the former does not and just displays "FNPTR" and the innermost type respectively. Ideally, in the cDAC we would use the richer representation in all circumstances if we are not doing debug validation on the legacy DAC and can confirm that this does not break any consumers.
There are two ways to pretty-print a type in the runtime - TypeHandle::GetName, and TypeString::AppendType. They differ in several ways, with the latter being a richer representation of the type. For example, the latter displays more information about the function pointer and nested classes, whereas the former does not and just displays "FNPTR" and the innermost type respectively. Ideally, in the cDAC we would use the richer representation in all circumstances if we are not doing debug validation on the legacy DAC and can confirm that this does not break any consumers.