Lists are extremely common in high-level programming.
sealed trait List[+A] final case object Nil extends List[Nothing] final case class Cons[A](h: A, t: List[A]) extends List[A]
Singly-linked list, however, unlike what you may be used to, lists are immutable! We prepend to lists, not append[13] and we do not do it destructively.
Immutability leads to sharing. You can pass your list all around the place and nobody is going to update it — not just by promise, but not even the most malicious method could.