The lack of tail-const is a particularly big problem for handling
ranges, I
believe. It means that certain things will work with arrays which won't
work
with user-defined ranges.

Yes, this applies to non-classes as well, thanks for pointing that out.
But no tail-const for classes is a glaring mistake to anyone learning the
language. Tail-const for ranges is a bit more obscure.
-Steve