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; the conflicting method unapply was defined at line 7:7 def unapply[a](xs: List[a]): Option[Null] = xs match { ^ three errors found