Thank you for taking the time to communicate your views on this. However, I think the community must be allowed -- even encouraged -- to discuss, question and explore possible modifications to the current protocol hierarchy.
For example: Conforming to Sequence
is currently the only way to make a type iterable in a for-loop. But it also brings a ton of methods that may or may not be relevant for the type in question. I've found myself avoiding Sequence
(and thus for-loopability) because it would pollute my type with methods that conflicts with its semantics, eg iterating over N-dimensional Int-vector-type-indices of an N-dimensional Table type, also Swift's current range types are not suitable for N-dimensional bounds, but it's not obvious to me that they never should be.
Anyway, this belongs in the Is set a sequence-thread where I largely agree with @Tino. It reminds me of the initial discussion about making the first parameter in a function declaration follow the same rules as the others. I can't find any source, but if I remember correctly it started with someone making critical remarks about the (then) special-cased first parameter. These remarks were met with compact resistance. But in the end it lead to a change that I think was greeted unanimously by the community.