func typeName(c *gocore.Process, x gocore.Object) string {
	size := c.Size(x)
	typ, repeat := c.Type(x)
	if typ == nil {
		return fmt.Sprintf("unk%d", size)
	}
	name := typ.String()
	n := size / typ.Size
	if n > 1 {
		if repeat < n {
			name = fmt.Sprintf("[%d+%d?]%s", repeat, n-repeat, name)
		} else {
			name = fmt.Sprintf("[%d]%s", repeat, name)
		}
	}
	return name
}
func typeName(c *gocore.Process, x gocore.Object) string {
	size := c.Size(x)
	typ, repeat := c.Type(x)
	if typ == nil {
		return fmt.Sprintf("unk%d", size)
	}
	name := typ.String()
	n := size / typ.Size
	if n > 1 {
		if repeat < n {
			name = fmt.Sprintf("[%d+%d?]%s", repeat, n-repeat, name)
		} else {
			name = fmt.Sprintf("[%d]%s", repeat, name)
		}
	}
	return name
}
func typeName ( c * gocore . Process , x gocore . Object ) string { size := c . Size ( x ) typ , repeat := c . Type ( x ) if typ == nil { return fmt . Sprintf ( " " , size ) } name := typ . String ( ) n := size / typ . Size if n > 1 { if repeat < n { name = fmt . Sprintf ( " " , repeat , n - repeat , name ) } else { name = fmt . Sprintf ( " " , repeat , name ) } } return name }
// typeName returns a string representing the type of this object.
typeName returns a string representing the type of this object .