Make ResolvedPackage an instance of Package and PackageFixedDeps And use that to simplify the code slightly. Also add an assertion into removeFailed, that the first returned result is the failed package itself, since we'll rely on this in the install code.
Make ResolvedPackage an instance of Package and PackageFixedDeps
And use that to simplify the code slightly. Also add an assertion into
removeFailed, that the first returned result is the failed package itself,
since we'll rely on this in the install code.

gridaphobe/cabal,trskop/cabal,ghc-android/cabal,fpco/cabal,fpco/cabal,martinvlk/cabal,eric-stanley/cabal,randen/cabal,alphaHeavy/cabal,x-y-z/cabal,plow-technologies/cabal,plumlife/cabal,martinvlk/cabal,mightybyte/cabal,rimmington/cabal,enolan/cabal,christiaanb/cabal,plow-technologies/cabal,ian-ross/cabal,randen/cabal,trskop/cabal,valderman/cabal,themoritz/cabal,typelead/epm,kosmikus/cabal,thoughtpolice/cabal,kolmodin/cabal,themoritz/cabal,gbaz/cabal,mmakowski/cabal,corngood/cabal,Heather/cabal,seereason/cabal,anton-dessiatov/cabal,typelead/epm,headprogrammingczar/cabal,lukexi/cabal,triplepointfive/cabal,garetxe/cabal,thomie/cabal,thomie/cabal,mydaum/cabal,headprogrammingczar/cabal,kosmikus/cabal,corngood/cabal,sopvop/cabal,bennofs/cabal,mmakowski/cabal,christiaanb/cabal,Peaker/cabal,Heather/cabal,rimmington/cabal,bennofs/cabal,plumlife/cabal,sopvop/cabal,thoughtpolice/cabal,x-y-z/cabal,anton-dessiatov/cabal,garetxe/cabal,Helkafen/cabal,ghc-android/cabal,valderman/cabal,beni55/cabal,kolmodin/cabal,gridaphobe/cabal,alphaHeavy/cabal,seereason/cabal,beni55/cabal,lukexi/cabal,Peaker/cabal,sopvop/cabal,gbaz/cabal,eric-stanley/cabal,edsko/cabal,ian-ross/cabal,Helkafen/cabal,mydaum/cabal,themoritz/cabal,fugyk/cabal,edsko/cabal,enolan/cabal,triplepointfive/cabal,fugyk/cabal,mightybyte/cabal