Use a type declaration's name in asString

To avoid printing out the long structural type declaration when pattern
assertions fail, a type declaration will now always stringify to the
given name rather than deferring to the pattern.