It's attempting to replicate what the `ColorTrait` would otherwise do if it weren't being wrapped by the `Either`. However, it doesn't quite succeed in doing so. A consumer might request the `color_` attribute before requesting the `color` trait. It will get `None` instead of the desired color tuple.

By the way, these should be floats rather than integers.