Code is Engineering; Types are Science
Following Godel:- my intuition suggests to me that for a sufficiently powerful programming language (Turing complete?), <i>any</i> type system will preclude otherwise valid statements in the language. Such illegal but valid statements will be much more numerous than legal statements. These statements may not just be valid, they may be useful, and perhaps even elegant!