     static func encode(value: Value) -> JSON
 }
 
+extension EncoderType {
+    public static func encode<S: SequenceType where S.Generator.Element == Value>(sequence: S) -> JSON {
+        return JSON(object: sequence.map({ encode($0).object }))
+    }
+}
+
 /// Encodes the given `NSDate` into a primative `JSON` type.
 ///
 /// - SeeAlso: `NSDate.timeIntervalSince1970`
 public struct NSDateTimeIntervalSince1970Encoder: EncoderType {
-    public typealias Value = NSDate
     public static func encode(value: NSDate) -> JSON {
         return JSON(object: value.timeIntervalSince1970)
     }

///
/// - SeeAlso: `NSDate.timeIntervalSinceReferenceDate`
public struct NSDateTimeIntervalSinceReferenceDateEncoder: EncoderType {
    public typealias Value = NSDate
    public static func encode(value: NSDate) -> JSON {
        return JSON(object: value.timeIntervalSinceReferenceDate)
    }

///
/// - SeeAlso: `NSURL.absoluteString`
public struct NSURLEncoder: EncoderType {
    public static func encode(value: NSURL) -> JSON {
        return JSON(object: value.absoluteString)
    }
}
