Have you ever tried building fully-typed polymorphic components? Good! Now how about combining that with discriminated unions, enhanced HTML attribute types and a forwardRef wrapper? Exactly — it's not easy. In this talk, we'll walk you through several TypeScript patterns you'll face over and over again. From building simple but 100% type-safe component props, constructing compound vs. polymorphic components, to function overload components, discriminated union props, generic React components and augmented components wrapped in forwardRef and more. Join this session and bring your typing skills to the next level!