Type-checking is just one static verification tool. Arity, numeric overflow, array bounds and null errors can also be verified statically.