This introduces an unchecked warning; `@unchecked` should be on the type arguments to `Tuple2`. (On the scrutinee, it only disabled exhaustiveness checking.)

```scala
scala> (("", ""): Any) match {     |   case t2: Tuple2[String @unchecked, String @unchecked] => t2
     | }
res0: (String @unchecked, String @unchecked) = ("","")

scala> (("", ""): Any @unchecked) match {
     |   case t2: Tuple2[String, String] => t2
     | }
<console>:9: warning: non-variable type argument String in type pattern (String, String) is unchecked since it is eliminated by erasure
                case t2: Tuple2[String, String] => t2
                         ^
res1: (String, String) = ("","")
```