 import Marshal
 import ReactiveSwift
 
-protocol MarshalErrorCreatable: Error {
+public protocol MarshalErrorCreatable: Error {
     static func createMarshalError(_ marshalError: MarshalError) -> Self
 }
 
 extension SignalProtocol where Value == Any, Error: MarshalErrorCreatable {
-    func mapResponse<Model>(for key: KeyType? = nil) -> Signal<Model, Error> where Model: Unmarshaling {
+    public func mapResponseMarshal<Model>(for key: KeyType? = nil) -> Signal<Model, Error> where Model: Unmarshaling {
         return attemptMap { json in
             Result {
                 guard let marshaledJSON = json as? MarshaledObject

        }
    }
    
    func mapResponse<Model>(for key: KeyType) -> Signal<Model, Error> where Model: ValueType {
        return attemptMap { json in
            Result {
                guard let marshaledJSON = json as? MarshaledObject

        }
    }
    
    public func mapResponseMarshal<Model>(for key: KeyType? = nil) -> Signal<[Model], Error> where Model: Unmarshaling {
        return attemptMap { json in
            Result {
                if let key = key, let marshaledJSON = json as? MarshaledObject {
