- classes
- Omit, Partial, Pick, Required, Record (object-based utility types)
- ReadonlyArray
These things are out-of-scope, or will be included in other modules
- limits of typeof narrowing (unknown and object)
- Type predicates
- Using external libraries and @types
- discriminated unions
- narrowing on discriminated unions
- Template literals
- Branded types
- Readonly properties on objects
- Index signatures
keyof- Readonly, Exclude, Extract (union-based or readonly-based utility types)
- let vs const vs as const
- Function overloads
- typeof
- Generics in functions