The maximum arity N of a function type that's implemented
as a trait
scala.FunctionN. Functions of higher arity are possible,
but are mapped in erasure to functions taking a single parameter of type
The limit 22 is chosen for Scala2x interop. It could be something
else without affecting the set of programs that can be compiled.
The maximal arity of a function that can be accessed as member of a structural type
The maximum number of elements in a tuple or product. This should be removed once we go to hlists.