Admin message

Due to a large amount of spam we do not allow new users to create repositories, they are "external" users. If you are a new user and want to create a repository, for example for forking GHC, open a new issue on ghc/ghc using the "get-verified" issue template

Drop `preloadClosure` from `UnitState`
## Summary This `preloadClosure` in `UnitState` seems to be completely unused and always set to `emptyUniqSet`. ```haskell -- | The set of transitively reachable units according -- to the explicitly provided command line arguments. -- A fully instantiated VirtUnit may only be replaced by a RealUnit from -- this set. -- See Note [VirtUnit to RealUnit improvement] preloadClosure :: PreloadUnitClosure, ``` Removing this field has a fairly large knock-on effect in simplifying `UnitState`, getting rid of `improveUnit` and similar functions. It is confusing why backpack works at all at the moment when `preloadClosure` seems to be completely unused and part of a fairly complicated precondition for unit instantiation. I suspect, backpacks current implementation (commit 6779bb0c2d2784182465337ba5e94b7cd8810f2b), performs the ad-hoc instantiation in the `UnitDatabase` directly, circumventing the `UnitState`, but I am not sure. All I know is that `preloadClosure` is `emptyUniqSet` in all code paths in GHC I am aware of. Perhaps someone can correct me, but I think it is safe for GHC to drop `preloadClosure` from `UnitState`.
issue