synopsis: Code organization prs: #6599 #6642 #6734 #6745 #6746 #6817 #6818 #6821 #6867 description: { - Split `Distribution.Client.Types` module - Move cabal-testsuite code into `src/` - Add `ProjectFlags` - Add `NixStyleOptions` - Internal refactorings to install command. - Make own modules for `InstallMethod` and `OverwritePolicy` - Make cabal-install compilable with `NoImplicitPrelude` - Refactor shared `TargetProblem` data types into their own module. - Template `cabal-install.cabal` using zinza }