     mixWith$: (other, amount) ->
       amount ||= 0.5
 
-      mixedColors = [@r, @g, @b, @a].zip([other.r, other.g, other.b, other.a]).map (array) ->
+      [@r, @g, @b, @a] = [@r, @g, @b, @a].zip([other.r, other.g, other.b, other.a]).map (array) ->
         (array[0] * amount) + (array[1] * (1 - amount))
 
-      [@r, @g, @b, @a] = mixedColors
+      [@r, @g, @b] = [@r, @g, @b].map (color) ->
+        color.round()
 
       return this 
 

      @copy().complement$() 

    complement$: ->
      hsl = @toHsl()
      @hue$(180)

    copy: ->

    return undefined unless channels = rgbParser.exec(colorString)

    parsedColor = (parseFloat channel for channel in channels[1..3])
    parsedColor[3] ||= 1

    return parsedColor

