It makes no sense to have a Product or Tuple that does not contain elements. They would be equivalent to Unit .
Function0 exists because a function does not necessarily accept arguments (for example, in the case of arguments by name).
In the case of Tuple22 and Function22 I cannot say why the Scala team chose 22 as the maximum, but it is definitely inconvenient to have tuples with so many members or functions that take more than 22 arguments.
There may be a limit on the number of method arguments the JVM can work with.
Moritz Sep 01 '10 at 12:47
source share