I think the "correct" cast should be `cast(Type[i])`: `cast()` strips all qualifiers, regardless of what the original qualifiers on the type were. Currently, Tuples don't support const fields, but they *could*. Furthermore, they currently *do* support shared fields, so that shouldn't be stripped away when calling `opCmp`.