I suppose for consistency you need to allow any number of holes in a tuple, so
(,True,) is an expression of type a -> b -> (a,Bool,b).
One possible problem with this is that it means you can no longer think on a syntactic
level of tuples with more than two elements being equivalent to the obvious
construction
from tuples with two elements. For example
(True,,) obviously has type a -> b -> (Bool,a,b)
so a novice might assume that
(True,(,)) has type a -> b -> (Bool,(a,b)).
But instead it (already) has type (Bool,a->b->(a,b)).
Actually I'm rather dubious about the whole idea. When I look at a tuple it's
nice to be able to know it's not a function without having to look for duplicate
commas. Wouldn't it be clearer just to write out the lambdas?