Functionally you can express all Range
s as Seq
uences, albeit that'd be slower methinks. What you're asking is a bit like asking why we need multiplication if we can just keep adding.
Check out the documentation. Range
, just like List
only does Iterable
and implements the indexing (AT-POS
method et. al) itself, specifically a Seq always has to calculate all n-1 elements before you can access the n-th element.
You can lead your users to water, but alas, you cannot drown them.