# Iterator on ranges.
private class DowntoIteratorRange[E: Discrete]
super IndexedIterator[E]
var range: Range[E]
redef var item is noinit
redef fun index do return _item.distance(_range.first)
redef fun is_ok do return _item >= _range.last
redef fun next do _item = _item.predecessor(1)
init
do
_item = _range.first
end
end
lib/core/collection/range.nit:223,1--238,3