TypeId<T>
/**
* A primitive type, interface or class.
*
* <p><strong>Warning:</strong> Use care when dealing with boxed primitive
* types. Java's lack of support for parameterized primitive types means that
* a primitive type like {@code int} and its boxed type {@code
* java.lang.Integer}