Is there a reason why Scala cannot allow type parameter groups in the same way as regular parameter groups? For example: def f[A, B][C](f (A, B) => C) That way we could require some types and let the compiler to infer the others, e.g.: f[Int, Int]: (a, b) => (a + b).toString Currently the interleaved type parameters feature doesn’t allow that directly, because every type parameter list should be followed by regular parameters (in parentheses), but here the first parameter requires all the t...