def myReverse[T](l: List[T] ): List[T] = { if (l.isEmpty) l else myReverse(l.tail) :+ l.head } val l = List(1,2,3,4) myReverse(l)