EDIT: Re-written this question based on original answer
The scala.collection.immutable.Set class is not covariant in its type parameter. Why is this? 
import scala.collection.immutable._
def foo(s: Set[CharSequence]): Unit = {
    println(s)
}
def bar(): Unit = {
   val s: Set[String] = Set("Hello", "World");
   foo(s); //DOES NOT COMPILE, regardless of whether type is declared 
           //explicitly in the val s declaration
}
 
     
     
     
    