Id represents names that not only have a Name but
also a Type and some additional details (a IdInfo and
one of LocalIdDetails or GlobalIdDetails) that are added, modified and
inspected by various compiler passes. These Var names may
either be global or local, see GHC.Types.Var#globalvslocal
Is this a dependency signature include? If so, we don't
compile this include when we instantiate this unit (as there should
not be any modules brought into scope.)
GHC generates an ImportDecl to represent the invisible `import
Prelude` that appears in any file that omits `import Prelude`, setting
this field to indicate that the import doesn't appear in the original
source. True => implicit import (of Prelude)