const package:cabal-install-solver

const x y always evaluates to x, ignoring its second argument.
>>> const 42 "hello"
42
>>> map (const 42) [0..3]
[42,42,42,42]
The Const functor.
An internal constraint due to compatibility issues with the Setup.hs command line interface requires a maximum upper bound on Cabal
An internal constraint due to compatibility issues with the Setup.hs command line interface requires a minimum lower bound on Cabal
Source of a PackageConstraint.
Flag specified on the command line.
Constraint specified by a config file, a command line flag, or a user target, when a more specific source is not known.
Internal constraint used by cabal freeze.
Main config file, which is ~.cabalconfig by default.
Constraint introduced by --enable-multi-repl, which requires features from Cabal >= 3.11
Internal requirement to use installed versions of packages like ghc-prim.
Constraint introduced by --enable-profiling-shared, which requires features from Cabal >= 3.13
Local cabal.project file
The source of the constraint is not specified.
User config file, which is ./cabal.config by default.
Target specified by the user, e.g., cabal install package-0.1.0.0 implies package==0.1.0.0.
Determines to what packages and in what contexts a constraint applies.
The conflict set variable represents a package with a constraint that excluded the specified package and version. For example, the conflict set entry '(P x, VersionConstraintConflict y (mkVersion [2, 0]))' means that package x's constraint on y excluded y-2.0.
Convert a DependencyReason to a ConflictSet specifying that the conflict occurred because the conflict set variables introduced a problematic version constraint. See the documentation for VersionConstraintConflict. This function currently only specifies the reason for the conflict in the simple case where the DependencyReason does not involve any flags or stanzas. Otherwise, it falls back to calling dependencyReasonToConflictSet.