Partial<T> makes all properties optional. It’s useful for patch objects where only changed fields are sent. Merge the patch over the base and return a new object so callers can keep the original.
// Example: apply a partial update
type Patch = Partial<Product>;
Apply a partial update to a product without mutation.