The range library alows the use of performant and versatile ranges in your code. It supports bounded and unbounded ranges, ranges in a nested manner (like library versions), an efficient algebra of range computation and even a simplified interface for ranges for the common cases. This library is far more efficient than using the default Data.List functions to approximate range behaviour. Performance is the major value offering of this library. If this is your first time using this library it is highly recommended that you start with Data.Range; it contains the basics of this library that meet most use cases.