He declares the class covariant in its general parameter. For your example, this means what Option[T]is a subtype Option[S]if it Tis a subtype S. So, for example, it Option[String]is a subtype Option[Object]that allows you to:
val x: Option[String] = Some("a")
val y: Option[Object] = x
Conversely, a class can be contravariant in its general parameter if it is declared as -A.
Scala .