Decoupling L.H.S.Decls from GHC.Types.Basic
This simple MR addresses issue #26699, making way for further Trees That Grow changes.
Data-types which do not require TTG extension within GHC.Types.Basic that the Language.Haskell.Syntax.Decls module depends on are moved to Language.Haskell.Syntax.Basic.
The types were moved to Language.Haskell.Syntax.Basic in order to prevent module import cycles when defining Binary and Outputable instances.
The OverlapMode data-type received the required TTG extension point.
It is moved to the new Language.Haskell.Syntax.Decls.Overlap module, to prevent import cycles.
The new GHC.Hs.Decls.Overlap module now exposes theOverlapFlag data-type previously defined in GHC.Types.Basic along with the type-class and type-family instances for OverlapMode.
Edited by recursion-ninja