I'm just wondering about an implementation detail of sScala generics. In C# one can declare a class as:
class Foo<T1>{}
class Foo<T1, T2>{}
In Scala however the same thing would have to be declared as
class Foo0[T1]{}
class Foo1[T1, T2]{}
Notice how the class name is forced to be changed for multiple generic parameters. Is there a reason that Scala decided to go this route rather than the C# one which I feel is more elegant? I know this is probably a pretty small nitpick, but I'm pretty curious as to the reasoning.