In scala Option class is declared like
  sealed abstract class _Option[+A]
  case object _None extends _Option[Nothing] {}
  final case class _Some[+A](x: A) extends _Option[A] {}
What is [+A]? Why not just [A]? Could it be [-A] and what it would mean?
Sorry if it is a duplicate but I couldn't find the answer on SO.
 
    