def <<(obj)
      if obj.is_a?(Color)
        @colors << obj
      elsif obj.is_a?(Palette)
        @colors |= obj.colors
      else
        raise(ArgumentError, "Passed argument is not a Color")
      end
      self
    end
def <<(obj)
      if obj.is_a?(Color)
        @colors << obj
      elsif obj.is_a?(Palette)
        @colors |= obj.colors
      else
        raise(ArgumentError, "Passed argument is not a Color")
      end
      self
    end
Initialize a {Palette} from a list of {Color}s
 @param [Array] colors a list of {Color}s to include in the {Palette}
 @return [Palette] A new instance of {Palette}
 Add a {Color} to the {Palette}
 @overload <<(color)
   @param [Color] color a {Color} to add to the receiver
 @overload <<(palette)
   @param [Palette] palette a {Palette} to merge with the receiver
 @return [Palette] self
 @see Paleta::Palette.push(obj)