- Bottom Type
- Algebraic Types
- STT (Simple Type Theory)
- Type Driven Development
- [ (video) Why should you learn Type Theory?](https://www.youtube.com/watch?v=QRrcwahx-3s](https://www.youtube.com/watch?v=QRrcwahx-3s)
The simplest intuition for types is that they are sets of values.
The type Bool (remember, concrete types start with a capital letter in Haskell) is a two-element set of True and False. Type Char is a set of all Unicode characters.
Sets can be finite or infinite. The type of String, which is a synonym for a list of Char, is an example of an infinite set.
How should I read type system notation? Resources for type theory, functional programming, etc.