Мне просто интересно узнать о деталях реализации обобщений Scala. В C # можно объявить класс как:
class Foo<T1>{}
class Foo<T1, T2>{}
В Scala, однако, то же самое должно быть объявлено как
class Foo0[T1]{}
class Foo1[T1, T2]{}
Обратите внимание, как принудительно изменяется имя класса для нескольких общих параметров. Есть ли причина, по которой Scala решил пойти по этому пути, а не по C #, который я считаю более элегантным? Я знаю, что это, вероятно, довольно маленькая придирка, но мне довольно любопытно, что касается рассуждений.