 
 import Fetch
 import UIKit
+#if canImport(Combine)
+    import Combine
+#endif
 
 class ViewController: UIViewController {
     let session = Session()

    override func viewDidLoad() {
        super.viewDidLoad()
        let request = EstablishmentRequest()
        session.perform(request) { (result: Result<EstablishmentsResponse>) in
            switch result {
            case .success(let response):
                response.establishments.forEach { est in
                    print("\(est.name)")
                }
            case .failure(let error):
                print("Badness \(error)")
            }
        }
    }

}

extension EstablishmentsResponse: Parsable {
    static func parse(response: Response, errorParser: ErrorParsing.Type?) -> FetchResult<EstablishmentsResponse> {
        if response.status != 200 {
            if let error = errorParser?.parseError(from: response.data, statusCode: response.status) {
                return .failure(error)
