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 maximum number of elements in a tuple or product. This should be removed once we go to hlists.