ну да, поэтому в контексте динамических языков я называю контракты - системой типов, или конструктором системы типов. просто под типизацией и обычно подразумевается статика, если мы не будем это определение брать даже, то все равно контракты на этапе компиляции - принципиально ничем от типов вроде бы не отличаются