Moving beyond basic generics: conditional types, mapped types, and the patterns I use daily in React component libraries.