Should we mark up tuples that we want to apply Equatable
et al to, while keeping the default tuple expressions and types protocol-less?
// Made up syntax
@(1, "3").hashValue
I just came up with that syntax after reading the referenced post and remembering my most recent multiple-dispatch idea. (The "@"-marked tuples are the only ones that we could arbitrarily extend and allow multiple dispatch through. Technically, adding Equatable
only to these tuples is also multiple dispatch, I think.)