To talk about generics as a programming language feature, you need a lot of specialized terminology. We need to agree on the words we are using and their meaning before we can meaningfully talk about the design of the feature itself.
There a number of problems a glossary solves:
- Not everyone knows every term, so having a single place to look them up will improve the ease of understanding, ease of contributing, and accessibility of the project.
- There may not be widespread agreement on the meaning of some terms. In particular, individual programming languages tend to assign very specific meanings to terms used within their ecosystem.
- Some terms may be used in multiple ways, but we only use the term with one specific meaning.
- Some terms are our invention and we need to introduce them.
See the generics terminology document.
This gives a common vocabulary for discussing the design of the generics feature.