This is actually quite weird in Scala, when I remove the "[this]", it won't compile, and complaint about "covariant type T occurs in contravariant position in type T of value _desc_="