Каждая публичная сущность должна иметь формальный KDoc-контракт, а предусловия и постусловия должны быть реализованы в коде через require/check. Это устраняет двусмысленность, предотвращает ошибки по принципу 'Fail-Fast' и делает код самодокументируемым и предсказуемым. Публичные функции и классы должны иметь полный KDoc-контракт. Отсутствует обязательный KDoc-тег контракта. Предусловия, описанные в @param, должны проверяться через require(). Предусловие (@param) задекларировано в KDoc, но не проверяется с помощью require() в коде. Постусловия, описанные в @return, должны проверяться через check(). Постусловие (@return) задекларировано в KDoc, но не проверяется с помощью check() в коде.