     switch HTTPURLResponse.statusCode {
     case 400..<600:
       return .statusCodeError(statusCode: HTTPURLResponse.statusCode)
-    default: break
+    default:
+      if let error = error {
+        return .sessionError(error: error)
+      }
+      return nil
     }
-
-    if let error = error {
-      return .sessionError(error: error)
-    }
-    return nil
   }
 
 }


    guard let data = data else {
      let networkError = self.networkServiceError(HTTPURLResponse: HTTPURLResponse, error: error) ?? NetworkServiceError.noDataProvided
      return .failure(networkError, URLResponse as? HTTPURLResponse)
    }

    switch HTTPURLResponse.statusCode {

/// # Failure case
///
/// Defines a response that failed, contains:
///   - A NetworkServiceError
///   - A HTTPURLResponse if it exists
///
/// ## Reasons for failure can be (in order):
///   1. No HTTPURLResponse with a URLSession error
