Я знаю, что и Eiffel (прародитель), и Racket реализуют функции «Дизайн по контракту». К сожалению, я не уверен, чем одно будет отличаться от другого. DBC Eiffel основан на парадигме ООП и наследовании, но как Racket, совершенно другой язык, может объяснить такое несоответствие?