     return Encoder.encode(key)(property)
 }
 
+public func ~~> <T>(key: String, property: [T]?) -> JSON? {
+    return Encoder.encodeArray(key)(property)
+}
+
+public func ~~> <T: Encodable>(key: String, property: [T]?) -> JSON? {
+    return Encoder.encodeArray(key)(property)
+}
+
 public func ~~> <T: RawRepresentable>(key: String, property: T?) -> JSON? {
     return Encoder.encodeEnum(key)(property)
 }

    return Decoder.decode(key)(json)
}

public func <~~ <T: RawRepresentable>(key: String, json: JSON) -> T? {
    return Decoder.decodeEnum(key)(json)
}

    return Decoder.decodeURL(key)(json)
}

// MARK: - Operator ~~> (Encode)

infix operator ~~> { associativity left precedence 150 }

