¿Por qué el conjunto inmutable de Scala no es covariante en su tipo?

EDITA: Reescribió esta pregunta según la respuesta original

Losscala.collection.immutable.Set class no es covariante en su parámetro de tipo. ¿Por qué es esto

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
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta