-pRELUDE = mkModule "Prelude"
-gHC_PRIM = mkModule "GHC.Prim" -- Primitive types and values
-pREL_BASE = mkModule "GHC.Base"
-pREL_ENUM = mkModule "GHC.Enum"
-pREL_SHOW = mkModule "GHC.Show"
-pREL_READ = mkModule "GHC.Read"
-pREL_NUM = mkModule "GHC.Num"
-pREL_LIST = mkModule "GHC.List"
-pREL_PARR = mkModule "GHC.PArr"
-pREL_TUP = mkModule "Data.Tuple"
-pREL_EITHER = mkModule "Data.Either"
-pREL_PACK = mkModule "GHC.Pack"
-pREL_CONC = mkModule "GHC.Conc"
-pREL_IO_BASE = mkModule "GHC.IOBase"
-pREL_ST = mkModule "GHC.ST"
-pREL_ARR = mkModule "GHC.Arr"
-pREL_STABLE = mkModule "GHC.Stable"
-pREL_ADDR = mkModule "GHC.Addr"
-pREL_PTR = mkModule "GHC.Ptr"
-pREL_ERR = mkModule "GHC.Err"
-pREL_REAL = mkModule "GHC.Real"
-pREL_FLOAT = mkModule "GHC.Float"
-pREL_TOP_HANDLER= mkModule "GHC.TopHandler"
-sYSTEM_IO = mkModule "System.IO"
-dYNAMIC = mkModule "Data.Dynamic"
-tYPEABLE = mkModule "Data.Typeable"
-gENERICS = mkModule "Data.Generics.Basics"
-dOTNET = mkModule "GHC.Dotnet"
-
-rEAD_PREC = mkModule "Text.ParserCombinators.ReadPrec"
-lEX = mkModule "Text.Read.Lex"
-
-mAIN = mkModule "Main"
-pREL_INT = mkModule "GHC.Int"
-pREL_WORD = mkModule "GHC.Word"
-mONAD = mkModule "Control.Monad"
-mONAD_FIX = mkModule "Control.Monad.Fix"
-aRROW = mkModule "Control.Arrow"
-aDDR = mkModule "Addr"
-rANDOM = mkModule "System.Random"
-
-gLA_EXTS = mkModule "GHC.Exts"
-rOOT_MAIN = mkModule ":Main" -- Root module for initialisation
+pRELUDE = mkBaseModule_ pRELUDE_NAME
+gHC_PRIM = mkBaseModule FSLIT("GHC.Prim") -- Primitive types and values
+gHC_BASE = mkBaseModule FSLIT("GHC.Base")
+gHC_ENUM = mkBaseModule FSLIT("GHC.Enum")
+gHC_SHOW = mkBaseModule FSLIT("GHC.Show")
+gHC_READ = mkBaseModule FSLIT("GHC.Read")
+gHC_NUM = mkBaseModule FSLIT("GHC.Num")
+gHC_LIST = mkBaseModule FSLIT("GHC.List")
+gHC_PARR = mkBaseModule FSLIT("GHC.PArr")
+dATA_TUP = mkBaseModule FSLIT("Data.Tuple")
+dATA_EITHER = mkBaseModule FSLIT("Data.Either")
+dATA_STRING = mkBaseModule FSLIT("Data.String")
+gHC_PACK = mkBaseModule FSLIT("GHC.Pack")
+gHC_CONC = mkBaseModule FSLIT("GHC.Conc")
+gHC_IO_BASE = mkBaseModule FSLIT("GHC.IOBase")
+gHC_ST = mkBaseModule FSLIT("GHC.ST")
+gHC_ARR = mkBaseModule FSLIT("GHC.Arr")
+gHC_STABLE = mkBaseModule FSLIT("GHC.Stable")
+gHC_ADDR = mkBaseModule FSLIT("GHC.Addr")
+gHC_PTR = mkBaseModule FSLIT("GHC.Ptr")
+gHC_ERR = mkBaseModule FSLIT("GHC.Err")
+gHC_REAL = mkBaseModule FSLIT("GHC.Real")
+gHC_FLOAT = mkBaseModule FSLIT("GHC.Float")
+gHC_TOP_HANDLER = mkBaseModule FSLIT("GHC.TopHandler")
+sYSTEM_IO = mkBaseModule FSLIT("System.IO")
+dYNAMIC = mkBaseModule FSLIT("Data.Dynamic")
+tYPEABLE = mkBaseModule FSLIT("Data.Typeable")
+gENERICS = mkBaseModule FSLIT("Data.Generics.Basics")
+dOTNET = mkBaseModule FSLIT("GHC.Dotnet")
+rEAD_PREC = mkBaseModule FSLIT("Text.ParserCombinators.ReadPrec")
+lEX = mkBaseModule FSLIT("Text.Read.Lex")
+gHC_INT = mkBaseModule FSLIT("GHC.Int")
+gHC_WORD = mkBaseModule FSLIT("GHC.Word")
+mONAD = mkBaseModule FSLIT("Control.Monad")
+mONAD_FIX = mkBaseModule FSLIT("Control.Monad.Fix")
+aRROW = mkBaseModule FSLIT("Control.Arrow")
+rANDOM = mkBaseModule FSLIT("System.Random")
+gLA_EXTS = mkBaseModule FSLIT("GHC.Exts")
+
+mAIN = mkMainModule_ mAIN_NAME
+rOOT_MAIN = mkMainModule FSLIT(":Main") -- Root module for initialisation
+