I sometimes phrase it as “yeah, your program is correct because it’s type-checked, but who has checked that your types are correct”?
With dependent types some of the logic will be coded in types, and we would need to check those.
With dependent types some of the logic will be coded in types, and we would need to check those.
Doesn’t mean it might not be useful.
The simplest example is very common banking and e-commerce logic which is basically a series of checks in the form:
if <some piece of data retrieved at runtime at that particular moment> is consistent with <multiple other pieces whose number and relevance depends on that data retrieved at runtime from potentially multiple sources>.