List[A]
1. map(xs: List[A], f: A => B): List[B]
2. inits(xs: List[A]): List[List[A]]
(что должна делать фукнция по идее inits([1,2,3]) == [[], [1], [1,2], [1,2,3]])
3. scan(xs: List[A], z: A, f: A => A): List[A]
(что должна делать функция по идее scan([1,2,3], 0, _ + _) == [0,1,3,6] (partial sums))
4. scan напрямую рекурсивно, а потом - в терминах map + inits
5. minMax(xs: List[A], compare: (A, A) => Compared): (A, A)