1. Generalizing Function Signatures
  2. Creating Related Function Arguments
  3. Getting Rid of any and unknown
  4. Understanding Generic Instantiation
  5. Generating New Object Types
  6. Adding Const Context to Generic Type Parameters
  7. Modifying Nested Objects
  8. Remapping Types
  9. Allowing at Least One Property
  10. Typing Higher-Order Components
  11. Choosing the Right Visibility Modifier
  12. Writing Static Classes
  13. Working with this Types in Classes
  14. Writing Decorators