UserProfile with exact properties: name (string), age (number), and email (string).user of type UserProfile with initial values.update of type Partial<UserProfile> with some properties to update.updateUser that takes user and update and returns a new UserProfile with updated properties.