             var error = error
 
             // If version solving failing, build the user-facing diagnostic.
-            if let pubGrubError = error as? PubgrubError, let rootCause = pubGrubError.rootCause, let state = pubGrubError.state {
+            if let pubGrubError = error as? PubgrubError, let rootCause = pubGrubError.rootCause, let incompatibilities = pubGrubError.incompatibilities {
                 var builder = DiagnosticReportBuilder(
                     root: root,
-                    incompatibilities: state.incompatibilities,
+                    incompatibilities: incompatibilities,
                     provider: self.provider
                 )
 

            }
        }

        var state: State? {
            switch self {
            case ._unresolvable(_, let state):
                return state
            case .unresolvable:
                return nil
            }

        }

        log("failed: \(incompatibility)")
        throw PubgrubError._unresolvable(incompatibility, state.incompatibilities)
    }

    /// Does a given incompatibility specify that version solving has entirely
