I've been reading introductory material about type theory, watching videos, and thinking hard about the material.
But, its still hard for me to grok it properly. Can someone provide a brief explanation of the central idea(s) of type theory, some idea of how it is useful in practice (e.g., to type systems), and a reading list (hopefully not too dense) of the foundational ideas?
Also, I'd like to explore some type system ideas in a new programming language. What other topics might be useful to invest time into studying?