Ever got frustrated typing the `as` prop in React components? How about this in combination with `forwardRef`? To put it short: It's not easy. Let's delve into strategies for constructing Compound Components, Polymorphic Components, and Components wrapped in forwardRef, while avoiding the use of type casts and ensure precise TypeScript typings.