for me type systems are about productivity, not safety or performance.
i don't expect the type system to eliminate every possible error, though i do expect it to help me find simple mistakes (e.g. passing arguments in the wrong order, forgetting to convert an argument, etc).
more importantly, i expect it to help me through a series of code changes. for instance, if i change a type signature or type definition, the type system can tell me where else i need to change the code.