Por que os genéricos costumam usar T?

Existe alguma razão para o uso de 'T' em genéricos? É algum tipo de abreviação? Tanto quanto eu sei, tudo funciona. Por exemplo

public G Say<G>(){ ... }

ou mesmo

public Hello Say<Hello>(){ ... }

questionAnswers(7)

yourAnswerToTheQuestion