Take the tour ×  Scala: Is it possible to constrain a type
parameter to be non abstract?  Are any other constraints
possible except view bounds, upper bounds and lower bounds for
type parameters and abstract type members? In C# for example,
which I'm familiar with, you have the additional generic
constraints:  where T: Class //Not sure if this covered in Scala
by T<: AnyRef  where T: interface  where T: struct  where U: T
//naked type constraint  where T: new () //This ensures that a
type parameter is non-abstract and allows one to instantiate an
object of the type in the generic class.  The last one is
particularly important as it allows you to construct your
unknown type, although its a shame you can only proscribe a
parameterless constructor.  Can =:= <:< and <%< only be used on
method parameters?  In response to the comments, the immediate
trigger for the question was the need for a "T: new()" restraint
or some equivalent mechanism.  class ExampleClass[T <: AnyRef] {
val example: T = new T()//Won't comp