If v1.Type1
were independently a good idea with its own supporting use cases, this would fall out of that choice. However, I don't think that extending opaque parameter types in this direction is appropriate: if you need to refer to the same generic type parameter more than once in the declaration, give it a name.
Doug