type template … type segment … type wildcard … type deepWildcard … type literal … type variable … func (wildcard) String() string { … } func (deepWildcard) String() string { … } func (l literal) String() string { … } func (v variable) String() string { … } func (t template) String() string { … }