Implements functions that only make sense for lists and cannot be part of the Enum protocol. In general, favor using the Enum API instead of List.
Some functions in this module expect an index. Index access for list is linear. Negative indexes are also supported but they imply the list will be iterated twice, one to calculate the proper index and another to the operation.
A decision was taken to delegate most functions to Erlang's standard library but follow Elixir's convention of receiving the target (in this case, a list) as the first argument.