Тип-значение (value type) хранит данные напрямую. Если бы он мог хранить сам себя, его размер был бы бесконечным, так как каждый экземпляр содержал бы еще один экземпляр того же типа, и так далее. Такая рекурсивная структура невозможна для типов, размер которых должен быть фиксированным и известным во время компиляции. Это утверждение верно для всех представителей value типа (таких как Struct, Enum, Tuple), потому что все они хранят данные по значению и должны иметь определенный размер.