This is kind of like saying borrow checking in Rust doesn't have any relationship to preventing segfaults, because you can use unsafe code. Just because a system doesn't prevent all errors, doesn't mean it bears no relationship to preventing errors.
Oh that's interesting. Seems like it would help to distinguish between true positives (undefined behavior e.g. 1 + "a") and false positives (conservative analysis, e.g. can't do duck typing in Java). Static types catch more of both.
cognitive psychology. PhD