overloaded-unapply.scala:18: error: ambiguous reference to overloaded definition, both method unapply in object List of type [a](xs: List[a])Option[Null] and method unapply in object List of type [a](xs: List[a])Option[(a, List[a])] match argument types (List[a]) case List(x, xs) => 7 ^ overloaded-unapply.scala:22: error: cannot resolve overloaded unapply case List(x, xs) => 7 ^ overloaded-unapply.scala:12: error: method unapply is defined twice conflicting symbols both originated in file 'overloaded-unapply.scala' def unapply[a](xs: List[a]): Option[Null] = xs match { ^ three errors found