Path package:ghc

Unlabeled path
A collection of paths that must be deleted before ghc exits.
Where the .dyn_hi file is, whether or not it exists yet.
Where the .dy file is, whether or not it exists yet.
Where the .hi file is, whether or not it exists yet. Always of form foo.hi, even if there is an hi-boot file (we add the -boot suffix later)
Where the .hie file is, whether or not it exists yet.
The source file, if we have one. Package modules probably don't have source files.
Where the .o file is, whether or not it exists yet. (might not exist either because the module hasn't been compiled yet, or because it is part of a unit with a .a file)
Labeled path
Quasi-unlabeled path
Type representing filenames/pathnames. This type doesn't add any guarantees over OsString.
Where are we allowed to look for Modules and Source files