Implement the range type