(I would check this out for myself, but I don\'t have VS2010 (yet))
Say I have 2 base interfaces:
IBaseModelInterface
IBaseViewInterface
Tuple is a class (well, a family of classes) - it's invariant by definition. As you mention later on, only interfaces and delegate types support generic variance in .NET 4.
There's no ITuple interface that I'm aware of. There could be one which would be covariant, as the tuples are immutable so you only get values "out" of the API.