Don't need to loop over subranges to use equal().

I wrote it that way 'cos if the subrange is a distinct type from the
original range, equal won't compare them properly (compiler will
complain about == not being defined).

But in this case, it does work, so I rewrote it to use equal() directly.