     }
 }
 
-extension DataRequest {
+public extension DataRequest {
     @discardableResult
     func responseCollection<T: ResponseCollectionSerializable>(
         queue: DispatchQueue? = nil,


// MARK: - Response object serialization

protocol ResponseObjectSerializable {
    init?(response: HTTPURLResponse, representation: Any)
}



// MARK: - Response object collection serialization

public protocol ResponseCollectionSerializable {
    static func collection(from response: HTTPURLResponse, withRepresentation representation: Any) -> [Self]
}

public extension ResponseCollectionSerializable where Self: ResponseObjectSerializable {
    static func collection(from response: HTTPURLResponse, withRepresentation representation: Any) -> [Self] {
        var collection: [Self] = []
        
