Read Ranges and Intervals in Swift
Read Ranges and Intervals in Swift about difference between Range (which are collections) and Interval (which are not) in Swift 2. Interval were represented by protocol IntervalType and two implementations HalfOpenInterval and ClosedInterval. Post refers to very interesting gist by Nate Cook.
Updated version of above post, Ranges in Swift 3. Post mentions already implemented in Swift 3 A New Model for Collections and Indices - quite interesting and useful reading.