Perbedaan antara inferensi tipe metode dan parameter tipe kelas dalam pencocokan pola

Mengapa pencocokan pola bekerja berbeda ketika parameter type berasal dari metode melampirkan sebagai lawan dari kelas melampirkan? Sebagai contoh, trait Base[T] case class Derived(v: Int) extends Base[Int] class Test[A] { def method(arg: Base[A]) = { arg match { case Derived(_) => 42 }...