It's obvious with Color, but when you deal with more complex stuff, code like
computation_service.set_status(ComputeStatus::NotEnoughMemory);
system.set_state(SystemState::Failure);
is a lot clearer than computation_service.set_state(.NotEnoughMemory);
system.set_state(.Failure);
in my opinion. Both objects/structs/whatevers can have a state type of their own but the shorthand form does not indicate whether or not the two can be used interchangeably. As a workaround, you could rename the setter to set_computation_state and set_system_state but then you're just repeating yourself in a different manner that's not as precise.