 
 // MARK: - Response object serialization
 
-protocol ResponseObjectSerializable {
+public protocol ResponseObjectSerializable {
     init?(response: HTTPURLResponse, representation: Any)
 }
 

    }
}

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


// 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] = []
        
