That kind of works. I guess I keep thinking about it from the perspective of the type itself instead of the function that uses it.
For example in Haskell 2-tuple and 3-tuple are simply distinct types, as distinct as Int is from String. You can't speak to the type system about "all n-tuples".