A list is a variadic, forward, extensible sequence of types that
supports constant-time insertion and removal of elements at the beginning, and
linear-time insertion and removal of elements at the end and in the middle.