See what this means in plain English.
class A[X]
means: let A be a class that takes one type parameter.
class C[M[X] <: A[X]]
means: let C be a class that takes one parameter of the type, which should be a class that takes one parameter of type AND, parameterized, is a subclass of class A, parameterized with the same type.
When you write
new C[A]
: C A. ? , , .
,
new C[A[Int]]
, C, A [Int], : A [Int] , . ( A [X].)