Define a dataclass LightBulb that has two fields: status (bool) and color (str).

Define a dataclass Lamp that has three fields: light (LightBulb), material (str), and weight (float).

Then, define a function hit_switch that consumes a Lamp and produces a Lamp. The new Lamp should have all the same fields as the original Lamp, except the status field should be negated (True becomes False, and False becomes True).