This interface represents a type variables such as {@code 'T'} in {@code
'public interface Comparable<T>'}, the bounded {@code 'T'} in {@code
'public interface A<T extends Number>'} or the multiple bounded {@code
'T'} in {@code 'public interface B<T extends Number & Cloneable>'}.
param
the generic declaration that declares this type variable