1.
Стоит заменить new() на this() в генериках ?
class OldA[T] where T : new() {}
class NewA[T] where T : this() {}
Резон: this() означает конструктор, а new используется только в переопределении виртуальных методов и не имеет отношения к конструкторам в Nemerle.
Недостаток: Расхождение с синтаксисом C#. (В данном случае это вообще важно ?)
2.
Стоит заменить +,- на in,out в ко/контравариантных интерфейсах ?
class OldCovariant[+T] {}
class OldContravariant[-T] {}
class NewCovariant[out T] {}
class NewContravariant[in T] {}