iter_rev : Range(num) -> Iter(num)
where [
num.range_exclusive_to : num, num -> Range(num),
num.range_inclusive_to : num, num -> Range(num),
num.range_exclusive_from : num, num -> Range(num),
num.range_inclusive_from : num, num -> Range(num),
num.range_len_if_known : num, num, num, [Exclusive, Inclusive] -> [Known(U64), Unknown],
num.range_iter : num, num, num, [Exclusive, Inclusive], [To, From], [Known(U64), Unknown] -> Iter(num),
]
Iterate this range in the opposite direction. Reversal reconstructs the
corresponding range through the numeric type's _to/_from methods,
which means a type can support forward ranges without claiming that its
ranges are exactly reversible.