sealed trait List[+a]() extends scala.Seq[a] with scala.ScalaObject { def isEmpty: scala.Boolean; def head: a; def tail: scala.List[a]; def ::[b >: a](b): scala.List[b]; def :::[b >: a](scala.List[b]): scala.List[b]; def reverse_:::[b >: a](scala.List[b]): scala.List[b]; def length: scala.Int; def indices: scala.List[scala.Int]; def elements: scala.Iterator[a]; override def toList: scala.List[a]; def init: scala.List[a]; def last: a; override def take(scala.Int): scala.List[a]; override def drop(scala.Int): scala.List[a]; def takeRight(scala.Int): scala.List[a]; def dropRight(scala.Int): scala.List[a]; def splitAt(scala.Int): scala.Tuple2[scala.List[a], scala.List[a]]; def takeWhile(a => scala.Boolean): scala.List[a]; def dropWhile(a => scala.Boolean): scala.List[a]; def span(a => scala.Boolean): scala.Tuple2[scala.List[a], scala.List[a]]; def break(a => scala.Boolean): scala.Tuple2[scala.List[a], scala.List[a]]; def apply(scala.Int): a; def map[b](a => b): scala.List[b]; def reverseMap[b](a => b): scala.List[b]; override def foreach(a => scala.Unit): scala.Unit; def filter(a => scala.Boolean): scala.List[a]; def remove(a => scala.Boolean): scala.List[a]; def partition(a => scala.Boolean): scala.Tuple2[scala.List[a], scala.List[a]]; def sort((a, a) => scala.Boolean): scala.List[a]; def count(a => scala.Boolean): scala.Int; override def forall(a => scala.Boolean): scala.Boolean; override def exists(a => scala.Boolean): scala.Boolean; def contains(scala.Any): scala.Boolean; override def find(a => scala.Boolean): scala.Option[a]; override def foldLeft[b](b)((b, a) => b): b; override def foldRight[b](b)((a, b) => b): b; def reduceLeft[b >: a]((b, b) => b): b; def reduceRight[b >: a]((b, b) => b): b; def flatMap[b](a => scala.List[b]): scala.List[b]; def reverse: scala.List[a]; def mkString(java.lang.String, java.lang.String, java.lang.String): java.lang.String; override def toString(): java.lang.String; def zip[b](scala.List[b]): scala.List[scala.Tuple2[a, b]]; def zipAll[c >: a, b](scala.List[b], c, b): scala.List[scala.Tuple2[c, b]]; def union[b >: a](scala.List[b]): scala.List[b]; def diff[b >: a](scala.List[b]): scala.List[b]; def intersect[b >: a](scala.List[b]): scala.List[b]; def removeDuplicates: scala.List[a] } object List extends scala.AnyRef with scala.ScalaObject { final def apply[A](A*): scala.List[A]; final def range(scala.Int, scala.Int): scala.List[scala.Int]; final def range(scala.Int, scala.Int, scala.Int): scala.List[scala.Int]; final def range(scala.Int, scala.Int, scala.Int => scala.Int): scala.List[scala.Int]; final def make[a](scala.Int, a): scala.List[a]; final def tabulate[a](scala.Int, scala.Int => a): scala.List[a]; final def flatten[a](scala.List[scala.List[a]]): scala.List[a]; final def unzip[a, b](scala.List[scala.Tuple2[a, b]]): scala.Tuple2[scala.List[a], scala.List[b]]; final def fromIterator[a](scala.Iterator[a]): scala.List[a]; final def fromArray[a](scala.Array[a]): scala.List[a]; final def fromArray[a](scala.Array[a], scala.Int, scala.Int): scala.List[a]; final def fromString(java.lang.String, scala.Char): scala.List[java.lang.String]; final def fromString(java.lang.String): scala.List[scala.Char]; final def toString(scala.List[scala.Char]): java.lang.String; final def map2[a, b, c](scala.List[a], scala.List[b])((a, b) => c): scala.List[c]; final def mapConserve[a <: scala.AnyRef](scala.List[a])(a => a): scala.List[a]; final def map3[a, b, c, d](scala.List[a], scala.List[b], scala.List[c])((a, b, c) => d): scala.List[d]; final def forall2[a, b](scala.List[a], scala.List[b])((a, b) => scala.Boolean): scala.Boolean; final def exists2[a, b](scala.List[a], scala.List[b])((a, b) => scala.Boolean): scala.Boolean; final def transpose[a](scala.List[scala.List[a]]): scala.List[scala.List[a]]; final def list2ordered[a <% scala.Ordered[a]](a => scala.Ordered[a])(scala.List[a]): scala.Ordered[scala.List[a]]; final def view[a <% scala.Ordered[a]](a => scala.Ordered[a])(scala.List[a]): scala.Ordered[scala.List[a]] }