When it comes to the problem of passing types over unaware middleware, the solution is rather along the lines parameterized types, like templates, or maybe more advanced metaprogramming. It's far from clear if and how tuples would tie into that, so designing them first with that in mind seems a bit backward.
Besides, it'd be straightforward to extend the repeating tuples approach with a "many" syntax, but the opposite is more difficult.
(Btw, philosophically I think the repeating is in the array and not in the tuple - it's in the nature of arrays to make a sequence by repeating something. Thus it's logical that an array over a tuple repeats it, as opposed to a function whose argument list can be viewed as a tuple.)