Provides implementations for different types of lists