     case rgba(Int, Int, Int, Float)
     case rgb(Int, Int, Int)
     case hexColor(String)
+    case function(Function)
     case array([Color])
     case image(String, ImageRepeat)
     case linearGradient(Float, Float, Float, Float, [GradientColorElement], Bool)

            return false
        }
        
        var rgbValue:UInt32 = 0
        return NSScanner(string: cString).scanHexInt(&rgbValue)
    }
    
    public var jsonString: String {

                return "null".jsonString
            }
            return "\(hexColor)".jsonString
        case let .function(function):
            return function.jsonString
        case .auto:
            return "auto".jsonString
        case .red:
