Здравствуйте, A13x, Вы писали:
A>В java и .NET есть базовый класс Object с определенным методом equals (Equals в C#) с сигнатурой:
A>Предположим, что мы делаем некоторый язык, скажем E, похожим насколько возможно на java/C#, в котором хотим описать каким-то образом типобезопасный equals.
В новом языке не надо делать общий базовый класс — это просто глупо. Пусть программист осознанно обогащает свои классы реализуя необходимые интерфейсы.