"This leads to the first snag: What if the compiler deduces T to be a value type, such as int?" . . . .