-- %************************************************************************
-- %*                                                                   *
--              The known-key names for Template Haskell
-- %*                                                                   *
-- %************************************************************************

module THNames where

import GhcPrelude ()

import PrelNames( mk_known_key_name )
import Module( Module, mkModuleNameFS, mkModule, thUnitId )
import Name( Name )
import OccName( tcName, clsName, dataName, varName )
import RdrName( RdrName, nameRdrName )
import Unique
import FastString

-- To add a name, do three things
--
--  1) Allocate a key
--  2) Make a "Name"
--  3) Add the name to templateHaskellNames

templateHaskellNames :: [Name]
-- The names that are implicitly mentioned by ``bracket''
-- Should stay in sync with the import list of DsMeta

templateHaskellNames :: [Name]
templateHaskellNames = [
    Name
returnQName, Name
bindQName, Name
sequenceQName, Name
newNameName, Name
liftName,
    Name
mkNameName, Name
mkNameG_vName, Name
mkNameG_dName, Name
mkNameG_tcName, Name
mkNameLName,
    Name
mkNameSName,
    Name
liftStringName,
    Name
unTypeName,
    Name
unTypeQName,
    Name
unsafeTExpCoerceName,

    -- Lit
    Name
charLName, Name
stringLName, Name
integerLName, Name
intPrimLName, Name
wordPrimLName,
    Name
floatPrimLName, Name
doublePrimLName, Name
rationalLName, Name
stringPrimLName,
    Name
charPrimLName,
    -- Pat
    Name
litPName, Name
varPName, Name
tupPName, Name
unboxedTupPName, Name
unboxedSumPName,
    Name
conPName, Name
tildePName, Name
bangPName, Name
infixPName,
    Name
asPName, Name
wildPName, Name
recPName, Name
listPName, Name
sigPName, Name
viewPName,
    -- FieldPat
    Name
fieldPatName,
    -- Match
    Name
matchName,
    -- Clause
    Name
clauseName,
    -- Exp
    Name
varEName, Name
conEName, Name
litEName, Name
appEName, Name
appTypeEName, Name
infixEName,
    Name
infixAppName, Name
sectionLName, Name
sectionRName, Name
lamEName, Name
lamCaseEName,
    Name
tupEName, Name
unboxedTupEName, Name
unboxedSumEName,
    Name
condEName, Name
multiIfEName, Name
letEName, Name
caseEName, Name
doEName, Name
mdoEName, Name
compEName,
    Name
fromEName, Name
fromThenEName, Name
fromToEName, Name
fromThenToEName,
    Name
listEName, Name
sigEName, Name
recConEName, Name
recUpdEName, Name
staticEName, Name
unboundVarEName,
    Name
labelEName, Name
implicitParamVarEName,
    -- FieldExp
    Name
fieldExpName,
    -- Body
    Name
guardedBName, Name
normalBName,
    -- Guard
    Name
normalGEName, Name
patGEName,
    -- Stmt
    Name
bindSName, Name
letSName, Name
noBindSName, Name
parSName, Name
recSName,
    -- Dec
    Name
funDName, Name
valDName, Name
dataDName, Name
newtypeDName, Name
tySynDName,
    Name
classDName, Name
instanceWithOverlapDName,
    Name
standaloneDerivWithStrategyDName, Name
sigDName, Name
forImpDName,
    Name
pragInlDName, Name
pragSpecDName, Name
pragSpecInlDName, Name
pragSpecInstDName,
    Name
pragRuleDName, Name
pragCompleteDName, Name
pragAnnDName, Name
defaultSigDName,
    Name
dataFamilyDName, Name
openTypeFamilyDName, Name
closedTypeFamilyDName,
    Name
dataInstDName, Name
newtypeInstDName, Name
tySynInstDName,
    Name
infixLDName, Name
infixRDName, Name
infixNDName,
    Name
roleAnnotDName, Name
patSynDName, Name
patSynSigDName,
    Name
implicitParamBindDName,
    -- Cxt
    Name
cxtName,

    -- SourceUnpackedness
    Name
noSourceUnpackednessName, Name
sourceNoUnpackName, Name
sourceUnpackName,
    -- SourceStrictness
    Name
noSourceStrictnessName, Name
sourceLazyName, Name
sourceStrictName,
    -- Con
    Name
normalCName, Name
recCName, Name
infixCName, Name
forallCName, Name
gadtCName, Name
recGadtCName,
    -- Bang
    Name
bangName,
    -- BangType
    Name
bangTypeName,
    -- VarBangType
    Name
varBangTypeName,
    -- PatSynDir (for pattern synonyms)
    Name
unidirPatSynName, Name
implBidirPatSynName, Name
explBidirPatSynName,
    -- PatSynArgs (for pattern synonyms)
    Name
prefixPatSynName, Name
infixPatSynName, Name
recordPatSynName,
    -- Type
    Name
forallTName, Name
varTName, Name
conTName, Name
infixTName, Name
appTName, Name
appKindTName,
    Name
equalityTName, Name
tupleTName, Name
unboxedTupleTName, Name
unboxedSumTName,
    Name
arrowTName, Name
listTName, Name
sigTName, Name
litTName,
    Name
promotedTName, Name
promotedTupleTName, Name
promotedNilTName, Name
promotedConsTName,
    Name
wildCardTName, Name
implicitParamTName,
    -- TyLit
    Name
numTyLitName, Name
strTyLitName,
    -- TyVarBndr
    Name
plainTVName, Name
kindedTVName,
    -- Role
    Name
nominalRName, Name
representationalRName, Name
phantomRName, Name
inferRName,
    -- Kind
    Name
varKName, Name
conKName, Name
tupleKName, Name
arrowKName, Name
listKName, Name
appKName,
    Name
starKName, Name
constraintKName,
    -- FamilyResultSig
    Name
noSigName, Name
kindSigName, Name
tyVarSigName,
    -- InjectivityAnn
    Name
injectivityAnnName,
    -- Callconv
    Name
cCallName, Name
stdCallName, Name
cApiCallName, Name
primCallName, Name
javaScriptCallName,
    -- Safety
    Name
unsafeName,
    Name
safeName,
    Name
interruptibleName,
    -- Inline
    Name
noInlineDataConName, Name
inlineDataConName, Name
inlinableDataConName,
    -- RuleMatch
    Name
conLikeDataConName, Name
funLikeDataConName,
    -- Phases
    Name
allPhasesDataConName, Name
fromPhaseDataConName, Name
beforePhaseDataConName,
    -- Overlap
    Name
overlappableDataConName, Name
overlappingDataConName, Name
overlapsDataConName,
    Name
incoherentDataConName,
    -- DerivStrategy
    Name
stockStrategyName, Name
anyclassStrategyName,
    Name
newtypeStrategyName, Name
viaStrategyName,
    -- TExp
    Name
tExpDataConName,
    -- RuleBndr
    Name
ruleVarName, Name
typedRuleVarName,
    -- FunDep
    Name
funDepName,
    -- TySynEqn
    Name
tySynEqnName,
    -- AnnTarget
    Name
valueAnnotationName, Name
typeAnnotationName, Name
moduleAnnotationName,
    -- DerivClause
    Name
derivClauseName,

    -- The type classes
    Name
liftClassName,

    -- And the tycons
    Name
qTyConName, Name
nameTyConName, Name
patTyConName, Name
fieldPatTyConName, Name
matchQTyConName,
    Name
clauseQTyConName, Name
expQTyConName, Name
fieldExpTyConName, Name
predTyConName,
    Name
stmtQTyConName, Name
decQTyConName, Name
conQTyConName, Name
bangTypeQTyConName,
    Name
varBangTypeQTyConName, Name
typeQTyConName, Name
expTyConName, Name
decTyConName,
    Name
typeTyConName, Name
tyVarBndrQTyConName, Name
matchTyConName, Name
clauseTyConName,
    Name
patQTyConName, Name
fieldPatQTyConName, Name
fieldExpQTyConName, Name
funDepTyConName,
    Name
predQTyConName, Name
decsQTyConName, Name
ruleBndrQTyConName, Name
tySynEqnQTyConName,
    Name
roleTyConName, Name
tExpTyConName, Name
injAnnTyConName, Name
kindQTyConName,
    Name
overlapTyConName, Name
derivClauseQTyConName, Name
derivStrategyQTyConName,

    -- Quasiquoting
    Name
quoteDecName, Name
quoteTypeName, Name
quoteExpName, Name
quotePatName]

thSyn, thLib, qqLib :: Module
thSyn :: Module
thSyn = FastString -> Module
mkTHModule (String -> FastString
fsLit "Language.Haskell.TH.Syntax")
thLib :: Module
thLib = FastString -> Module
mkTHModule (String -> FastString
fsLit "Language.Haskell.TH.Lib.Internal")
qqLib :: Module
qqLib = FastString -> Module
mkTHModule (String -> FastString
fsLit "Language.Haskell.TH.Quote")

mkTHModule :: FastString -> Module
mkTHModule :: FastString -> Module
mkTHModule m :: FastString
m = UnitId -> ModuleName -> Module
mkModule UnitId
thUnitId (FastString -> ModuleName
mkModuleNameFS FastString
m)

libFun, libTc, thFun, thTc, thCls, thCon, qqFun :: FastString -> Unique -> Name
libFun :: FastString -> Unique -> Name
libFun = NameSpace -> Module -> FastString -> Unique -> Name
mk_known_key_name NameSpace
OccName.varName  Module
thLib
libTc :: FastString -> Unique -> Name
libTc  = NameSpace -> Module -> FastString -> Unique -> Name
mk_known_key_name NameSpace
OccName.tcName   Module
thLib
thFun :: FastString -> Unique -> Name
thFun  = NameSpace -> Module -> FastString -> Unique -> Name
mk_known_key_name NameSpace
OccName.varName  Module
thSyn
thTc :: FastString -> Unique -> Name
thTc   = NameSpace -> Module -> FastString -> Unique -> Name
mk_known_key_name NameSpace
OccName.tcName   Module
thSyn
thCls :: FastString -> Unique -> Name
thCls  = NameSpace -> Module -> FastString -> Unique -> Name
mk_known_key_name NameSpace
OccName.clsName  Module
thSyn
thCon :: FastString -> Unique -> Name
thCon  = NameSpace -> Module -> FastString -> Unique -> Name
mk_known_key_name NameSpace
OccName.dataName Module
thSyn
qqFun :: FastString -> Unique -> Name
qqFun  = NameSpace -> Module -> FastString -> Unique -> Name
mk_known_key_name NameSpace
OccName.varName  Module
qqLib

-------------------- TH.Syntax -----------------------
liftClassName :: Name
liftClassName :: Name
liftClassName = FastString -> Unique -> Name
thCls (String -> FastString
fsLit "Lift") Unique
liftClassKey

qTyConName, nameTyConName, fieldExpTyConName, patTyConName,
    fieldPatTyConName, expTyConName, decTyConName, typeTyConName,
    matchTyConName, clauseTyConName, funDepTyConName, predTyConName,
    tExpTyConName, injAnnTyConName, overlapTyConName :: Name
qTyConName :: Name
qTyConName             = FastString -> Unique -> Name
thTc (String -> FastString
fsLit "Q")              Unique
qTyConKey
nameTyConName :: Name
nameTyConName          = FastString -> Unique -> Name
thTc (String -> FastString
fsLit "Name")           Unique
nameTyConKey
fieldExpTyConName :: Name
fieldExpTyConName      = FastString -> Unique -> Name
thTc (String -> FastString
fsLit "FieldExp")       Unique
fieldExpTyConKey
patTyConName :: Name
patTyConName           = FastString -> Unique -> Name
thTc (String -> FastString
fsLit "Pat")            Unique
patTyConKey
fieldPatTyConName :: Name
fieldPatTyConName      = FastString -> Unique -> Name
thTc (String -> FastString
fsLit "FieldPat")       Unique
fieldPatTyConKey
expTyConName :: Name
expTyConName           = FastString -> Unique -> Name
thTc (String -> FastString
fsLit "Exp")            Unique
expTyConKey
decTyConName :: Name
decTyConName           = FastString -> Unique -> Name
thTc (String -> FastString
fsLit "Dec")            Unique
decTyConKey
typeTyConName :: Name
typeTyConName          = FastString -> Unique -> Name
thTc (String -> FastString
fsLit "Type")           Unique
typeTyConKey
matchTyConName :: Name
matchTyConName         = FastString -> Unique -> Name
thTc (String -> FastString
fsLit "Match")          Unique
matchTyConKey
clauseTyConName :: Name
clauseTyConName        = FastString -> Unique -> Name
thTc (String -> FastString
fsLit "Clause")         Unique
clauseTyConKey
funDepTyConName :: Name
funDepTyConName        = FastString -> Unique -> Name
thTc (String -> FastString
fsLit "FunDep")         Unique
funDepTyConKey
predTyConName :: Name
predTyConName          = FastString -> Unique -> Name
thTc (String -> FastString
fsLit "Pred")           Unique
predTyConKey
tExpTyConName :: Name
tExpTyConName          = FastString -> Unique -> Name
thTc (String -> FastString
fsLit "TExp")           Unique
tExpTyConKey
injAnnTyConName :: Name
injAnnTyConName        = FastString -> Unique -> Name
thTc (String -> FastString
fsLit "InjectivityAnn") Unique
injAnnTyConKey
overlapTyConName :: Name
overlapTyConName       = FastString -> Unique -> Name
thTc (String -> FastString
fsLit "Overlap")        Unique
overlapTyConKey

returnQName, bindQName, sequenceQName, newNameName, liftName,
    mkNameName, mkNameG_vName, mkNameG_dName, mkNameG_tcName,
    mkNameLName, mkNameSName, liftStringName, unTypeName, unTypeQName,
    unsafeTExpCoerceName :: Name
returnQName :: Name
returnQName    = FastString -> Unique -> Name
thFun (String -> FastString
fsLit "returnQ")   Unique
returnQIdKey
bindQName :: Name
bindQName      = FastString -> Unique -> Name
thFun (String -> FastString
fsLit "bindQ")     Unique
bindQIdKey
sequenceQName :: Name
sequenceQName  = FastString -> Unique -> Name
thFun (String -> FastString
fsLit "sequenceQ") Unique
sequenceQIdKey
newNameName :: Name
newNameName    = FastString -> Unique -> Name
thFun (String -> FastString
fsLit "newName")   Unique
newNameIdKey
liftName :: Name
liftName       = FastString -> Unique -> Name
thFun (String -> FastString
fsLit "lift")      Unique
liftIdKey
liftStringName :: Name
liftStringName = FastString -> Unique -> Name
thFun (String -> FastString
fsLit "liftString")  Unique
liftStringIdKey
mkNameName :: Name
mkNameName     = FastString -> Unique -> Name
thFun (String -> FastString
fsLit "mkName")     Unique
mkNameIdKey
mkNameG_vName :: Name
mkNameG_vName  = FastString -> Unique -> Name
thFun (String -> FastString
fsLit "mkNameG_v")  Unique
mkNameG_vIdKey
mkNameG_dName :: Name
mkNameG_dName  = FastString -> Unique -> Name
thFun (String -> FastString
fsLit "mkNameG_d")  Unique
mkNameG_dIdKey
mkNameG_tcName :: Name
mkNameG_tcName = FastString -> Unique -> Name
thFun (String -> FastString
fsLit "mkNameG_tc") Unique
mkNameG_tcIdKey
mkNameLName :: Name
mkNameLName    = FastString -> Unique -> Name
thFun (String -> FastString
fsLit "mkNameL")    Unique
mkNameLIdKey
mkNameSName :: Name
mkNameSName    = FastString -> Unique -> Name
thFun (String -> FastString
fsLit "mkNameS")    Unique
mkNameSIdKey
unTypeName :: Name
unTypeName     = FastString -> Unique -> Name
thFun (String -> FastString
fsLit "unType")     Unique
unTypeIdKey
unTypeQName :: Name
unTypeQName    = FastString -> Unique -> Name
thFun (String -> FastString
fsLit "unTypeQ")    Unique
unTypeQIdKey
unsafeTExpCoerceName :: Name
unsafeTExpCoerceName = FastString -> Unique -> Name
thFun (String -> FastString
fsLit "unsafeTExpCoerce") Unique
unsafeTExpCoerceIdKey


-------------------- TH.Lib -----------------------
-- data Lit = ...
charLName, stringLName, integerLName, intPrimLName, wordPrimLName,
    floatPrimLName, doublePrimLName, rationalLName, stringPrimLName,
    charPrimLName :: Name
charLName :: Name
charLName       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "charL")       Unique
charLIdKey
stringLName :: Name
stringLName     = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "stringL")     Unique
stringLIdKey
integerLName :: Name
integerLName    = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "integerL")    Unique
integerLIdKey
intPrimLName :: Name
intPrimLName    = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "intPrimL")    Unique
intPrimLIdKey
wordPrimLName :: Name
wordPrimLName   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "wordPrimL")   Unique
wordPrimLIdKey
floatPrimLName :: Name
floatPrimLName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "floatPrimL")  Unique
floatPrimLIdKey
doublePrimLName :: Name
doublePrimLName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "doublePrimL") Unique
doublePrimLIdKey
rationalLName :: Name
rationalLName   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "rationalL")     Unique
rationalLIdKey
stringPrimLName :: Name
stringPrimLName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "stringPrimL") Unique
stringPrimLIdKey
charPrimLName :: Name
charPrimLName   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "charPrimL")   Unique
charPrimLIdKey

-- data Pat = ...
litPName, varPName, tupPName, unboxedTupPName, unboxedSumPName, conPName,
    infixPName, tildePName, bangPName, asPName, wildPName, recPName, listPName,
    sigPName, viewPName :: Name
litPName :: Name
litPName   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "litP")   Unique
litPIdKey
varPName :: Name
varPName   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "varP")   Unique
varPIdKey
tupPName :: Name
tupPName   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "tupP")   Unique
tupPIdKey
unboxedTupPName :: Name
unboxedTupPName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "unboxedTupP") Unique
unboxedTupPIdKey
unboxedSumPName :: Name
unboxedSumPName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "unboxedSumP") Unique
unboxedSumPIdKey
conPName :: Name
conPName   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "conP")   Unique
conPIdKey
infixPName :: Name
infixPName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "infixP") Unique
infixPIdKey
tildePName :: Name
tildePName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "tildeP") Unique
tildePIdKey
bangPName :: Name
bangPName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "bangP")  Unique
bangPIdKey
asPName :: Name
asPName    = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "asP")    Unique
asPIdKey
wildPName :: Name
wildPName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "wildP")  Unique
wildPIdKey
recPName :: Name
recPName   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "recP")   Unique
recPIdKey
listPName :: Name
listPName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "listP")  Unique
listPIdKey
sigPName :: Name
sigPName   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "sigP")   Unique
sigPIdKey
viewPName :: Name
viewPName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "viewP")  Unique
viewPIdKey

-- type FieldPat = ...
fieldPatName :: Name
fieldPatName :: Name
fieldPatName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "fieldPat") Unique
fieldPatIdKey

-- data Match = ...
matchName :: Name
matchName :: Name
matchName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "match") Unique
matchIdKey

-- data Clause = ...
clauseName :: Name
clauseName :: Name
clauseName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "clause") Unique
clauseIdKey

-- data Exp = ...
varEName, conEName, litEName, appEName, appTypeEName, infixEName, infixAppName,
    sectionLName, sectionRName, lamEName, lamCaseEName, tupEName,
    unboxedTupEName, unboxedSumEName, condEName, multiIfEName, letEName,
    caseEName, doEName, mdoEName, compEName, staticEName, unboundVarEName,
    labelEName, implicitParamVarEName :: Name
varEName :: Name
varEName              = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "varE")              Unique
varEIdKey
conEName :: Name
conEName              = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "conE")              Unique
conEIdKey
litEName :: Name
litEName              = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "litE")              Unique
litEIdKey
appEName :: Name
appEName              = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "appE")              Unique
appEIdKey
appTypeEName :: Name
appTypeEName          = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "appTypeE")          Unique
appTypeEIdKey
infixEName :: Name
infixEName            = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "infixE")            Unique
infixEIdKey
infixAppName :: Name
infixAppName          = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "infixApp")          Unique
infixAppIdKey
sectionLName :: Name
sectionLName          = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "sectionL")          Unique
sectionLIdKey
sectionRName :: Name
sectionRName          = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "sectionR")          Unique
sectionRIdKey
lamEName :: Name
lamEName              = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "lamE")              Unique
lamEIdKey
lamCaseEName :: Name
lamCaseEName          = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "lamCaseE")          Unique
lamCaseEIdKey
tupEName :: Name
tupEName              = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "tupE")              Unique
tupEIdKey
unboxedTupEName :: Name
unboxedTupEName       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "unboxedTupE")       Unique
unboxedTupEIdKey
unboxedSumEName :: Name
unboxedSumEName       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "unboxedSumE")       Unique
unboxedSumEIdKey
condEName :: Name
condEName             = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "condE")             Unique
condEIdKey
multiIfEName :: Name
multiIfEName          = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "multiIfE")          Unique
multiIfEIdKey
letEName :: Name
letEName              = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "letE")              Unique
letEIdKey
caseEName :: Name
caseEName             = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "caseE")             Unique
caseEIdKey
doEName :: Name
doEName               = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "doE")               Unique
doEIdKey
mdoEName :: Name
mdoEName              = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "mdoE")              Unique
mdoEIdKey
compEName :: Name
compEName             = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "compE")             Unique
compEIdKey
-- ArithSeq skips a level
fromEName, fromThenEName, fromToEName, fromThenToEName :: Name
fromEName :: Name
fromEName             = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "fromE")             Unique
fromEIdKey
fromThenEName :: Name
fromThenEName         = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "fromThenE")         Unique
fromThenEIdKey
fromToEName :: Name
fromToEName           = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "fromToE")           Unique
fromToEIdKey
fromThenToEName :: Name
fromThenToEName       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "fromThenToE")       Unique
fromThenToEIdKey
-- end ArithSeq
listEName, sigEName, recConEName, recUpdEName :: Name
listEName :: Name
listEName             = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "listE")             Unique
listEIdKey
sigEName :: Name
sigEName              = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "sigE")              Unique
sigEIdKey
recConEName :: Name
recConEName           = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "recConE")           Unique
recConEIdKey
recUpdEName :: Name
recUpdEName           = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "recUpdE")           Unique
recUpdEIdKey
staticEName :: Name
staticEName           = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "staticE")           Unique
staticEIdKey
unboundVarEName :: Name
unboundVarEName       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "unboundVarE")       Unique
unboundVarEIdKey
labelEName :: Name
labelEName            = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "labelE")            Unique
labelEIdKey
implicitParamVarEName :: Name
implicitParamVarEName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "implicitParamVarE") Unique
implicitParamVarEIdKey

-- type FieldExp = ...
fieldExpName :: Name
fieldExpName :: Name
fieldExpName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "fieldExp") Unique
fieldExpIdKey

-- data Body = ...
guardedBName, normalBName :: Name
guardedBName :: Name
guardedBName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "guardedB") Unique
guardedBIdKey
normalBName :: Name
normalBName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "normalB")  Unique
normalBIdKey

-- data Guard = ...
normalGEName, patGEName :: Name
normalGEName :: Name
normalGEName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "normalGE") Unique
normalGEIdKey
patGEName :: Name
patGEName    = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "patGE")    Unique
patGEIdKey

-- data Stmt = ...
bindSName, letSName, noBindSName, parSName, recSName :: Name
bindSName :: Name
bindSName   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "bindS")   Unique
bindSIdKey
letSName :: Name
letSName    = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "letS")    Unique
letSIdKey
noBindSName :: Name
noBindSName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "noBindS") Unique
noBindSIdKey
parSName :: Name
parSName    = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "parS")    Unique
parSIdKey
recSName :: Name
recSName    = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "recS")    Unique
recSIdKey

-- data Dec = ...
funDName, valDName, dataDName, newtypeDName, tySynDName, classDName,
    instanceWithOverlapDName, sigDName, forImpDName, pragInlDName,
    pragSpecDName, pragSpecInlDName, pragSpecInstDName, pragRuleDName,
    pragAnnDName, standaloneDerivWithStrategyDName, defaultSigDName,
    dataInstDName, newtypeInstDName, tySynInstDName, dataFamilyDName,
    openTypeFamilyDName, closedTypeFamilyDName, infixLDName, infixRDName,
    infixNDName, roleAnnotDName, patSynDName, patSynSigDName,
    pragCompleteDName, implicitParamBindDName :: Name
funDName :: Name
funDName                         = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "funD")                         Unique
funDIdKey
valDName :: Name
valDName                         = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "valD")                         Unique
valDIdKey
dataDName :: Name
dataDName                        = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "dataD")                        Unique
dataDIdKey
newtypeDName :: Name
newtypeDName                     = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "newtypeD")                     Unique
newtypeDIdKey
tySynDName :: Name
tySynDName                       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "tySynD")                       Unique
tySynDIdKey
classDName :: Name
classDName                       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "classD")                       Unique
classDIdKey
instanceWithOverlapDName :: Name
instanceWithOverlapDName         = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "instanceWithOverlapD")         Unique
instanceWithOverlapDIdKey
standaloneDerivWithStrategyDName :: Name
standaloneDerivWithStrategyDName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "standaloneDerivWithStrategyD") Unique
standaloneDerivWithStrategyDIdKey
sigDName :: Name
sigDName                         = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "sigD")                         Unique
sigDIdKey
defaultSigDName :: Name
defaultSigDName                  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "defaultSigD")                  Unique
defaultSigDIdKey
forImpDName :: Name
forImpDName                      = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "forImpD")                      Unique
forImpDIdKey
pragInlDName :: Name
pragInlDName                     = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "pragInlD")                     Unique
pragInlDIdKey
pragSpecDName :: Name
pragSpecDName                    = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "pragSpecD")                    Unique
pragSpecDIdKey
pragSpecInlDName :: Name
pragSpecInlDName                 = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "pragSpecInlD")                 Unique
pragSpecInlDIdKey
pragSpecInstDName :: Name
pragSpecInstDName                = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "pragSpecInstD")                Unique
pragSpecInstDIdKey
pragRuleDName :: Name
pragRuleDName                    = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "pragRuleD")                    Unique
pragRuleDIdKey
pragCompleteDName :: Name
pragCompleteDName                = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "pragCompleteD")                Unique
pragCompleteDIdKey
pragAnnDName :: Name
pragAnnDName                     = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "pragAnnD")                     Unique
pragAnnDIdKey
dataInstDName :: Name
dataInstDName                    = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "dataInstD")                    Unique
dataInstDIdKey
newtypeInstDName :: Name
newtypeInstDName                 = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "newtypeInstD")                 Unique
newtypeInstDIdKey
tySynInstDName :: Name
tySynInstDName                   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "tySynInstD")                   Unique
tySynInstDIdKey
openTypeFamilyDName :: Name
openTypeFamilyDName              = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "openTypeFamilyD")              Unique
openTypeFamilyDIdKey
closedTypeFamilyDName :: Name
closedTypeFamilyDName            = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "closedTypeFamilyD")            Unique
closedTypeFamilyDIdKey
dataFamilyDName :: Name
dataFamilyDName                  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "dataFamilyD")                  Unique
dataFamilyDIdKey
infixLDName :: Name
infixLDName                      = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "infixLD")                      Unique
infixLDIdKey
infixRDName :: Name
infixRDName                      = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "infixRD")                      Unique
infixRDIdKey
infixNDName :: Name
infixNDName                      = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "infixND")                      Unique
infixNDIdKey
roleAnnotDName :: Name
roleAnnotDName                   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "roleAnnotD")                   Unique
roleAnnotDIdKey
patSynDName :: Name
patSynDName                      = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "patSynD")                      Unique
patSynDIdKey
patSynSigDName :: Name
patSynSigDName                   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "patSynSigD")                   Unique
patSynSigDIdKey
implicitParamBindDName :: Name
implicitParamBindDName           = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "implicitParamBindD")           Unique
implicitParamBindDIdKey

-- type Ctxt = ...
cxtName :: Name
cxtName :: Name
cxtName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "cxt") Unique
cxtIdKey

-- data SourceUnpackedness = ...
noSourceUnpackednessName, sourceNoUnpackName, sourceUnpackName :: Name
noSourceUnpackednessName :: Name
noSourceUnpackednessName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "noSourceUnpackedness") Unique
noSourceUnpackednessKey
sourceNoUnpackName :: Name
sourceNoUnpackName       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "sourceNoUnpack")       Unique
sourceNoUnpackKey
sourceUnpackName :: Name
sourceUnpackName         = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "sourceUnpack")         Unique
sourceUnpackKey

-- data SourceStrictness = ...
noSourceStrictnessName, sourceLazyName, sourceStrictName :: Name
noSourceStrictnessName :: Name
noSourceStrictnessName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "noSourceStrictness") Unique
noSourceStrictnessKey
sourceLazyName :: Name
sourceLazyName         = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "sourceLazy")         Unique
sourceLazyKey
sourceStrictName :: Name
sourceStrictName       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "sourceStrict")       Unique
sourceStrictKey

-- data Con = ...
normalCName, recCName, infixCName, forallCName, gadtCName, recGadtCName :: Name
normalCName :: Name
normalCName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "normalC" ) Unique
normalCIdKey
recCName :: Name
recCName     = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "recC"    ) Unique
recCIdKey
infixCName :: Name
infixCName   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "infixC"  ) Unique
infixCIdKey
forallCName :: Name
forallCName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "forallC" ) Unique
forallCIdKey
gadtCName :: Name
gadtCName    = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "gadtC"   ) Unique
gadtCIdKey
recGadtCName :: Name
recGadtCName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "recGadtC") Unique
recGadtCIdKey

-- data Bang = ...
bangName :: Name
bangName :: Name
bangName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "bang") Unique
bangIdKey

-- type BangType = ...
bangTypeName :: Name
bangTypeName :: Name
bangTypeName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "bangType") Unique
bangTKey

-- type VarBangType = ...
varBangTypeName :: Name
varBangTypeName :: Name
varBangTypeName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "varBangType") Unique
varBangTKey

-- data PatSynDir = ...
unidirPatSynName, implBidirPatSynName, explBidirPatSynName :: Name
unidirPatSynName :: Name
unidirPatSynName    = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "unidir")    Unique
unidirPatSynIdKey
implBidirPatSynName :: Name
implBidirPatSynName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "implBidir") Unique
implBidirPatSynIdKey
explBidirPatSynName :: Name
explBidirPatSynName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "explBidir") Unique
explBidirPatSynIdKey

-- data PatSynArgs = ...
prefixPatSynName, infixPatSynName, recordPatSynName :: Name
prefixPatSynName :: Name
prefixPatSynName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "prefixPatSyn") Unique
prefixPatSynIdKey
infixPatSynName :: Name
infixPatSynName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "infixPatSyn")  Unique
infixPatSynIdKey
recordPatSynName :: Name
recordPatSynName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "recordPatSyn") Unique
recordPatSynIdKey

-- data Type = ...
forallTName, varTName, conTName, infixTName, tupleTName, unboxedTupleTName,
    unboxedSumTName, arrowTName, listTName, appTName, appKindTName,
    sigTName, equalityTName, litTName, promotedTName,
    promotedTupleTName, promotedNilTName, promotedConsTName,
    wildCardTName, implicitParamTName :: Name
forallTName :: Name
forallTName         = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "forallT")        Unique
forallTIdKey
varTName :: Name
varTName            = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "varT")           Unique
varTIdKey
conTName :: Name
conTName            = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "conT")           Unique
conTIdKey
tupleTName :: Name
tupleTName          = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "tupleT")         Unique
tupleTIdKey
unboxedTupleTName :: Name
unboxedTupleTName   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "unboxedTupleT")  Unique
unboxedTupleTIdKey
unboxedSumTName :: Name
unboxedSumTName     = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "unboxedSumT")    Unique
unboxedSumTIdKey
arrowTName :: Name
arrowTName          = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "arrowT")         Unique
arrowTIdKey
listTName :: Name
listTName           = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "listT")          Unique
listTIdKey
appTName :: Name
appTName            = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "appT")           Unique
appTIdKey
appKindTName :: Name
appKindTName        = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "appKindT")       Unique
appKindTIdKey
sigTName :: Name
sigTName            = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "sigT")           Unique
sigTIdKey
equalityTName :: Name
equalityTName       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "equalityT")      Unique
equalityTIdKey
litTName :: Name
litTName            = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "litT")           Unique
litTIdKey
promotedTName :: Name
promotedTName       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "promotedT")      Unique
promotedTIdKey
promotedTupleTName :: Name
promotedTupleTName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "promotedTupleT") Unique
promotedTupleTIdKey
promotedNilTName :: Name
promotedNilTName    = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "promotedNilT")   Unique
promotedNilTIdKey
promotedConsTName :: Name
promotedConsTName   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "promotedConsT")  Unique
promotedConsTIdKey
wildCardTName :: Name
wildCardTName       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "wildCardT")      Unique
wildCardTIdKey
infixTName :: Name
infixTName          = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "infixT")         Unique
infixTIdKey
implicitParamTName :: Name
implicitParamTName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "implicitParamT") Unique
implicitParamTIdKey

-- data TyLit = ...
numTyLitName, strTyLitName :: Name
numTyLitName :: Name
numTyLitName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "numTyLit") Unique
numTyLitIdKey
strTyLitName :: Name
strTyLitName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "strTyLit") Unique
strTyLitIdKey

-- data TyVarBndr = ...
plainTVName, kindedTVName :: Name
plainTVName :: Name
plainTVName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "plainTV")  Unique
plainTVIdKey
kindedTVName :: Name
kindedTVName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "kindedTV") Unique
kindedTVIdKey

-- data Role = ...
nominalRName, representationalRName, phantomRName, inferRName :: Name
nominalRName :: Name
nominalRName          = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "nominalR")          Unique
nominalRIdKey
representationalRName :: Name
representationalRName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "representationalR") Unique
representationalRIdKey
phantomRName :: Name
phantomRName          = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "phantomR")          Unique
phantomRIdKey
inferRName :: Name
inferRName            = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "inferR")            Unique
inferRIdKey

-- data Kind = ...
varKName, conKName, tupleKName, arrowKName, listKName, appKName,
  starKName, constraintKName :: Name
varKName :: Name
varKName        = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "varK")         Unique
varKIdKey
conKName :: Name
conKName        = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "conK")         Unique
conKIdKey
tupleKName :: Name
tupleKName      = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "tupleK")       Unique
tupleKIdKey
arrowKName :: Name
arrowKName      = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "arrowK")       Unique
arrowKIdKey
listKName :: Name
listKName       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "listK")        Unique
listKIdKey
appKName :: Name
appKName        = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "appK")         Unique
appKIdKey
starKName :: Name
starKName       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "starK")        Unique
starKIdKey
constraintKName :: Name
constraintKName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "constraintK")  Unique
constraintKIdKey

-- data FamilyResultSig = ...
noSigName, kindSigName, tyVarSigName :: Name
noSigName :: Name
noSigName    = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "noSig")    Unique
noSigIdKey
kindSigName :: Name
kindSigName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "kindSig")  Unique
kindSigIdKey
tyVarSigName :: Name
tyVarSigName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "tyVarSig") Unique
tyVarSigIdKey

-- data InjectivityAnn = ...
injectivityAnnName :: Name
injectivityAnnName :: Name
injectivityAnnName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "injectivityAnn") Unique
injectivityAnnIdKey

-- data Callconv = ...
cCallName, stdCallName, cApiCallName, primCallName, javaScriptCallName :: Name
cCallName :: Name
cCallName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "cCall") Unique
cCallIdKey
stdCallName :: Name
stdCallName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "stdCall") Unique
stdCallIdKey
cApiCallName :: Name
cApiCallName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "cApi") Unique
cApiCallIdKey
primCallName :: Name
primCallName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "prim") Unique
primCallIdKey
javaScriptCallName :: Name
javaScriptCallName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "javaScript") Unique
javaScriptCallIdKey

-- data Safety = ...
unsafeName, safeName, interruptibleName :: Name
unsafeName :: Name
unsafeName     = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "unsafe") Unique
unsafeIdKey
safeName :: Name
safeName       = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "safe") Unique
safeIdKey
interruptibleName :: Name
interruptibleName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "interruptible") Unique
interruptibleIdKey

-- newtype TExp a = ...
tExpDataConName :: Name
tExpDataConName :: Name
tExpDataConName = FastString -> Unique -> Name
thCon (String -> FastString
fsLit "TExp") Unique
tExpDataConKey

-- data RuleBndr = ...
ruleVarName, typedRuleVarName :: Name
ruleVarName :: Name
ruleVarName      = FastString -> Unique -> Name
libFun (String -> FastString
fsLit ("ruleVar"))      Unique
ruleVarIdKey
typedRuleVarName :: Name
typedRuleVarName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit ("typedRuleVar")) Unique
typedRuleVarIdKey

-- data FunDep = ...
funDepName :: Name
funDepName :: Name
funDepName     = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "funDep") Unique
funDepIdKey

-- data TySynEqn = ...
tySynEqnName :: Name
tySynEqnName :: Name
tySynEqnName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "tySynEqn") Unique
tySynEqnIdKey

-- data AnnTarget = ...
valueAnnotationName, typeAnnotationName, moduleAnnotationName :: Name
valueAnnotationName :: Name
valueAnnotationName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "valueAnnotation")  Unique
valueAnnotationIdKey
typeAnnotationName :: Name
typeAnnotationName   = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "typeAnnotation")   Unique
typeAnnotationIdKey
moduleAnnotationName :: Name
moduleAnnotationName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "moduleAnnotation") Unique
moduleAnnotationIdKey

-- type DerivClause = ...
derivClauseName :: Name
derivClauseName :: Name
derivClauseName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "derivClause") Unique
derivClauseIdKey

-- data DerivStrategy = ...
stockStrategyName, anyclassStrategyName, newtypeStrategyName,
  viaStrategyName :: Name
stockStrategyName :: Name
stockStrategyName    = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "stockStrategy")    Unique
stockStrategyIdKey
anyclassStrategyName :: Name
anyclassStrategyName = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "anyclassStrategy") Unique
anyclassStrategyIdKey
newtypeStrategyName :: Name
newtypeStrategyName  = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "newtypeStrategy")  Unique
newtypeStrategyIdKey
viaStrategyName :: Name
viaStrategyName      = FastString -> Unique -> Name
libFun (String -> FastString
fsLit "viaStrategy")      Unique
viaStrategyIdKey

matchQTyConName, clauseQTyConName, expQTyConName, stmtQTyConName,
    decQTyConName, conQTyConName, bangTypeQTyConName,
    varBangTypeQTyConName, typeQTyConName, fieldExpQTyConName,
    patQTyConName, fieldPatQTyConName, predQTyConName, decsQTyConName,
    ruleBndrQTyConName, tySynEqnQTyConName, roleTyConName,
    derivClauseQTyConName, kindQTyConName, tyVarBndrQTyConName,
    derivStrategyQTyConName :: Name
matchQTyConName :: Name
matchQTyConName         = FastString -> Unique -> Name
libTc (String -> FastString
fsLit "MatchQ")         Unique
matchQTyConKey
clauseQTyConName :: Name
clauseQTyConName        = FastString -> Unique -> Name
libTc (String -> FastString
fsLit "ClauseQ")        Unique
clauseQTyConKey
expQTyConName :: Name
expQTyConName           = FastString -> Unique -> Name
libTc (String -> FastString
fsLit "ExpQ")           Unique
expQTyConKey
stmtQTyConName :: Name
stmtQTyConName          = FastString -> Unique -> Name
libTc (String -> FastString
fsLit "StmtQ")          Unique
stmtQTyConKey
decQTyConName :: Name
decQTyConName           = FastString -> Unique -> Name
libTc (String -> FastString
fsLit "DecQ")           Unique
decQTyConKey
decsQTyConName :: Name
decsQTyConName          = FastString -> Unique -> Name
libTc (String -> FastString
fsLit "DecsQ")          Unique
decsQTyConKey  -- Q [Dec]
conQTyConName :: Name
conQTyConName           = FastString -> Unique -> Name
libTc (String -> FastString
fsLit "ConQ")           Unique
conQTyConKey
bangTypeQTyConName :: Name
bangTypeQTyConName      = FastString -> Unique -> Name
libTc (String -> FastString
fsLit "BangTypeQ")      Unique
bangTypeQTyConKey
varBangTypeQTyConName :: Name
varBangTypeQTyConName   = FastString -> Unique -> Name
libTc (String -> FastString
fsLit "VarBangTypeQ")   Unique
varBangTypeQTyConKey
typeQTyConName :: Name
typeQTyConName          = FastString -> Unique -> Name
libTc (String -> FastString
fsLit "TypeQ")          Unique
typeQTyConKey
fieldExpQTyConName :: Name
fieldExpQTyConName      = FastString -> Unique -> Name
libTc (String -> FastString
fsLit "FieldExpQ")      Unique
fieldExpQTyConKey
patQTyConName :: Name
patQTyConName           = FastString -> Unique -> Name
libTc (String -> FastString
fsLit "PatQ")           Unique
patQTyConKey
fieldPatQTyConName :: Name
fieldPatQTyConName      = FastString -> Unique -> Name
libTc (String -> FastString
fsLit "FieldPatQ")      Unique
fieldPatQTyConKey
predQTyConName :: Name
predQTyConName          = FastString -> Unique -> Name
libTc (String -> FastString
fsLit "PredQ")          Unique
predQTyConKey
ruleBndrQTyConName :: Name
ruleBndrQTyConName      = FastString -> Unique -> Name
libTc (String -> FastString
fsLit "RuleBndrQ")      Unique
ruleBndrQTyConKey
tySynEqnQTyConName :: Name
tySynEqnQTyConName      = FastString -> Unique -> Name
libTc (String -> FastString
fsLit "TySynEqnQ")      Unique
tySynEqnQTyConKey
roleTyConName :: Name
roleTyConName           = FastString -> Unique -> Name
libTc (String -> FastString
fsLit "Role")           Unique
roleTyConKey
derivClauseQTyConName :: Name
derivClauseQTyConName   = FastString -> Unique -> Name
libTc (String -> FastString
fsLit "DerivClauseQ")   Unique
derivClauseQTyConKey
kindQTyConName :: Name
kindQTyConName          = FastString -> Unique -> Name
libTc (String -> FastString
fsLit "KindQ")          Unique
kindQTyConKey
tyVarBndrQTyConName :: Name
tyVarBndrQTyConName     = FastString -> Unique -> Name
libTc (String -> FastString
fsLit "TyVarBndrQ")     Unique
tyVarBndrQTyConKey
derivStrategyQTyConName :: Name
derivStrategyQTyConName = FastString -> Unique -> Name
libTc (String -> FastString
fsLit "DerivStrategyQ") Unique
derivStrategyQTyConKey

-- quasiquoting
quoteExpName, quotePatName, quoteDecName, quoteTypeName :: Name
quoteExpName :: Name
quoteExpName        = FastString -> Unique -> Name
qqFun (String -> FastString
fsLit "quoteExp")  Unique
quoteExpKey
quotePatName :: Name
quotePatName        = FastString -> Unique -> Name
qqFun (String -> FastString
fsLit "quotePat")  Unique
quotePatKey
quoteDecName :: Name
quoteDecName        = FastString -> Unique -> Name
qqFun (String -> FastString
fsLit "quoteDec")  Unique
quoteDecKey
quoteTypeName :: Name
quoteTypeName       = FastString -> Unique -> Name
qqFun (String -> FastString
fsLit "quoteType") Unique
quoteTypeKey

-- data Inline = ...
noInlineDataConName, inlineDataConName, inlinableDataConName :: Name
noInlineDataConName :: Name
noInlineDataConName  = FastString -> Unique -> Name
thCon (String -> FastString
fsLit "NoInline")  Unique
noInlineDataConKey
inlineDataConName :: Name
inlineDataConName    = FastString -> Unique -> Name
thCon (String -> FastString
fsLit "Inline")    Unique
inlineDataConKey
inlinableDataConName :: Name
inlinableDataConName = FastString -> Unique -> Name
thCon (String -> FastString
fsLit "Inlinable") Unique
inlinableDataConKey

-- data RuleMatch = ...
conLikeDataConName, funLikeDataConName :: Name
conLikeDataConName :: Name
conLikeDataConName = FastString -> Unique -> Name
thCon (String -> FastString
fsLit "ConLike") Unique
conLikeDataConKey
funLikeDataConName :: Name
funLikeDataConName = FastString -> Unique -> Name
thCon (String -> FastString
fsLit "FunLike") Unique
funLikeDataConKey

-- data Phases = ...
allPhasesDataConName, fromPhaseDataConName, beforePhaseDataConName :: Name
allPhasesDataConName :: Name
allPhasesDataConName   = FastString -> Unique -> Name
thCon (String -> FastString
fsLit "AllPhases")   Unique
allPhasesDataConKey
fromPhaseDataConName :: Name
fromPhaseDataConName   = FastString -> Unique -> Name
thCon (String -> FastString
fsLit "FromPhase")   Unique
fromPhaseDataConKey
beforePhaseDataConName :: Name
beforePhaseDataConName = FastString -> Unique -> Name
thCon (String -> FastString
fsLit "BeforePhase") Unique
beforePhaseDataConKey

-- data Overlap = ...
overlappableDataConName,
  overlappingDataConName,
  overlapsDataConName,
  incoherentDataConName :: Name
overlappableDataConName :: Name
overlappableDataConName = FastString -> Unique -> Name
thCon (String -> FastString
fsLit "Overlappable") Unique
overlappableDataConKey
overlappingDataConName :: Name
overlappingDataConName  = FastString -> Unique -> Name
thCon (String -> FastString
fsLit "Overlapping")  Unique
overlappingDataConKey
overlapsDataConName :: Name
overlapsDataConName     = FastString -> Unique -> Name
thCon (String -> FastString
fsLit "Overlaps")     Unique
overlapsDataConKey
incoherentDataConName :: Name
incoherentDataConName   = FastString -> Unique -> Name
thCon (String -> FastString
fsLit "Incoherent")   Unique
incoherentDataConKey

{- *********************************************************************
*                                                                      *
                     Class keys
*                                                                      *
********************************************************************* -}

-- ClassUniques available: 200-299
-- Check in PrelNames if you want to change this

liftClassKey :: Unique
liftClassKey :: Unique
liftClassKey = Int -> Unique
mkPreludeClassUnique 200

{- *********************************************************************
*                                                                      *
                     TyCon keys
*                                                                      *
********************************************************************* -}

-- TyConUniques available: 200-299
-- Check in PrelNames if you want to change this

expTyConKey, matchTyConKey, clauseTyConKey, qTyConKey, expQTyConKey,
    decQTyConKey, patTyConKey, matchQTyConKey, clauseQTyConKey,
    stmtQTyConKey, conQTyConKey, typeQTyConKey, typeTyConKey,
    tyVarBndrQTyConKey, decTyConKey, bangTypeQTyConKey, varBangTypeQTyConKey,
    fieldExpTyConKey, fieldPatTyConKey, nameTyConKey, patQTyConKey,
    fieldPatQTyConKey, fieldExpQTyConKey, funDepTyConKey, predTyConKey,
    predQTyConKey, decsQTyConKey, ruleBndrQTyConKey, tySynEqnQTyConKey,
    roleTyConKey, tExpTyConKey, injAnnTyConKey, kindQTyConKey,
    overlapTyConKey, derivClauseQTyConKey, derivStrategyQTyConKey :: Unique
expTyConKey :: Unique
expTyConKey             = Int -> Unique
mkPreludeTyConUnique 200
matchTyConKey :: Unique
matchTyConKey           = Int -> Unique
mkPreludeTyConUnique 201
clauseTyConKey :: Unique
clauseTyConKey          = Int -> Unique
mkPreludeTyConUnique 202
qTyConKey :: Unique
qTyConKey               = Int -> Unique
mkPreludeTyConUnique 203
expQTyConKey :: Unique
expQTyConKey            = Int -> Unique
mkPreludeTyConUnique 204
decQTyConKey :: Unique
decQTyConKey            = Int -> Unique
mkPreludeTyConUnique 205
patTyConKey :: Unique
patTyConKey             = Int -> Unique
mkPreludeTyConUnique 206
matchQTyConKey :: Unique
matchQTyConKey          = Int -> Unique
mkPreludeTyConUnique 207
clauseQTyConKey :: Unique
clauseQTyConKey         = Int -> Unique
mkPreludeTyConUnique 208
stmtQTyConKey :: Unique
stmtQTyConKey           = Int -> Unique
mkPreludeTyConUnique 209
conQTyConKey :: Unique
conQTyConKey            = Int -> Unique
mkPreludeTyConUnique 210
typeQTyConKey :: Unique
typeQTyConKey           = Int -> Unique
mkPreludeTyConUnique 211
typeTyConKey :: Unique
typeTyConKey            = Int -> Unique
mkPreludeTyConUnique 212
decTyConKey :: Unique
decTyConKey             = Int -> Unique
mkPreludeTyConUnique 213
bangTypeQTyConKey :: Unique
bangTypeQTyConKey       = Int -> Unique
mkPreludeTyConUnique 214
varBangTypeQTyConKey :: Unique
varBangTypeQTyConKey    = Int -> Unique
mkPreludeTyConUnique 215
fieldExpTyConKey :: Unique
fieldExpTyConKey        = Int -> Unique
mkPreludeTyConUnique 216
fieldPatTyConKey :: Unique
fieldPatTyConKey        = Int -> Unique
mkPreludeTyConUnique 217
nameTyConKey :: Unique
nameTyConKey            = Int -> Unique
mkPreludeTyConUnique 218
patQTyConKey :: Unique
patQTyConKey            = Int -> Unique
mkPreludeTyConUnique 219
fieldPatQTyConKey :: Unique
fieldPatQTyConKey       = Int -> Unique
mkPreludeTyConUnique 220
fieldExpQTyConKey :: Unique
fieldExpQTyConKey       = Int -> Unique
mkPreludeTyConUnique 221
funDepTyConKey :: Unique
funDepTyConKey          = Int -> Unique
mkPreludeTyConUnique 222
predTyConKey :: Unique
predTyConKey            = Int -> Unique
mkPreludeTyConUnique 223
predQTyConKey :: Unique
predQTyConKey           = Int -> Unique
mkPreludeTyConUnique 224
tyVarBndrQTyConKey :: Unique
tyVarBndrQTyConKey      = Int -> Unique
mkPreludeTyConUnique 225
decsQTyConKey :: Unique
decsQTyConKey           = Int -> Unique
mkPreludeTyConUnique 226
ruleBndrQTyConKey :: Unique
ruleBndrQTyConKey       = Int -> Unique
mkPreludeTyConUnique 227
tySynEqnQTyConKey :: Unique
tySynEqnQTyConKey       = Int -> Unique
mkPreludeTyConUnique 228
roleTyConKey :: Unique
roleTyConKey            = Int -> Unique
mkPreludeTyConUnique 229
tExpTyConKey :: Unique
tExpTyConKey            = Int -> Unique
mkPreludeTyConUnique 230
injAnnTyConKey :: Unique
injAnnTyConKey          = Int -> Unique
mkPreludeTyConUnique 231
kindQTyConKey :: Unique
kindQTyConKey           = Int -> Unique
mkPreludeTyConUnique 232
overlapTyConKey :: Unique
overlapTyConKey         = Int -> Unique
mkPreludeTyConUnique 233
derivClauseQTyConKey :: Unique
derivClauseQTyConKey    = Int -> Unique
mkPreludeTyConUnique 234
derivStrategyQTyConKey :: Unique
derivStrategyQTyConKey  = Int -> Unique
mkPreludeTyConUnique 235

{- *********************************************************************
*                                                                      *
                     DataCon keys
*                                                                      *
********************************************************************* -}

-- DataConUniques available: 100-150
-- If you want to change this, make sure you check in PrelNames

-- data Inline = ...
noInlineDataConKey, inlineDataConKey, inlinableDataConKey :: Unique
noInlineDataConKey :: Unique
noInlineDataConKey  = Int -> Unique
mkPreludeDataConUnique 200
inlineDataConKey :: Unique
inlineDataConKey    = Int -> Unique
mkPreludeDataConUnique 201
inlinableDataConKey :: Unique
inlinableDataConKey = Int -> Unique
mkPreludeDataConUnique 202

-- data RuleMatch = ...
conLikeDataConKey, funLikeDataConKey :: Unique
conLikeDataConKey :: Unique
conLikeDataConKey = Int -> Unique
mkPreludeDataConUnique 203
funLikeDataConKey :: Unique
funLikeDataConKey = Int -> Unique
mkPreludeDataConUnique 204

-- data Phases = ...
allPhasesDataConKey, fromPhaseDataConKey, beforePhaseDataConKey :: Unique
allPhasesDataConKey :: Unique
allPhasesDataConKey   = Int -> Unique
mkPreludeDataConUnique 205
fromPhaseDataConKey :: Unique
fromPhaseDataConKey   = Int -> Unique
mkPreludeDataConUnique 206
beforePhaseDataConKey :: Unique
beforePhaseDataConKey = Int -> Unique
mkPreludeDataConUnique 207

-- newtype TExp a = ...
tExpDataConKey :: Unique
tExpDataConKey :: Unique
tExpDataConKey = Int -> Unique
mkPreludeDataConUnique 208

-- data Overlap = ..
overlappableDataConKey,
  overlappingDataConKey,
  overlapsDataConKey,
  incoherentDataConKey :: Unique
overlappableDataConKey :: Unique
overlappableDataConKey = Int -> Unique
mkPreludeDataConUnique 209
overlappingDataConKey :: Unique
overlappingDataConKey  = Int -> Unique
mkPreludeDataConUnique 210
overlapsDataConKey :: Unique
overlapsDataConKey     = Int -> Unique
mkPreludeDataConUnique 211
incoherentDataConKey :: Unique
incoherentDataConKey   = Int -> Unique
mkPreludeDataConUnique 212

{- *********************************************************************
*                                                                      *
                     Id keys
*                                                                      *
********************************************************************* -}

-- IdUniques available: 200-499
-- If you want to change this, make sure you check in PrelNames

returnQIdKey, bindQIdKey, sequenceQIdKey, liftIdKey, newNameIdKey,
    mkNameIdKey, mkNameG_vIdKey, mkNameG_dIdKey, mkNameG_tcIdKey,
    mkNameLIdKey, mkNameSIdKey, unTypeIdKey, unTypeQIdKey,
    unsafeTExpCoerceIdKey :: Unique
returnQIdKey :: Unique
returnQIdKey        = Int -> Unique
mkPreludeMiscIdUnique 200
bindQIdKey :: Unique
bindQIdKey          = Int -> Unique
mkPreludeMiscIdUnique 201
sequenceQIdKey :: Unique
sequenceQIdKey      = Int -> Unique
mkPreludeMiscIdUnique 202
liftIdKey :: Unique
liftIdKey           = Int -> Unique
mkPreludeMiscIdUnique 203
newNameIdKey :: Unique
newNameIdKey         = Int -> Unique
mkPreludeMiscIdUnique 204
mkNameIdKey :: Unique
mkNameIdKey          = Int -> Unique
mkPreludeMiscIdUnique 205
mkNameG_vIdKey :: Unique
mkNameG_vIdKey       = Int -> Unique
mkPreludeMiscIdUnique 206
mkNameG_dIdKey :: Unique
mkNameG_dIdKey       = Int -> Unique
mkPreludeMiscIdUnique 207
mkNameG_tcIdKey :: Unique
mkNameG_tcIdKey      = Int -> Unique
mkPreludeMiscIdUnique 208
mkNameLIdKey :: Unique
mkNameLIdKey         = Int -> Unique
mkPreludeMiscIdUnique 209
mkNameSIdKey :: Unique
mkNameSIdKey         = Int -> Unique
mkPreludeMiscIdUnique 210
unTypeIdKey :: Unique
unTypeIdKey          = Int -> Unique
mkPreludeMiscIdUnique 211
unTypeQIdKey :: Unique
unTypeQIdKey         = Int -> Unique
mkPreludeMiscIdUnique 212
unsafeTExpCoerceIdKey :: Unique
unsafeTExpCoerceIdKey = Int -> Unique
mkPreludeMiscIdUnique 213


-- data Lit = ...
charLIdKey, stringLIdKey, integerLIdKey, intPrimLIdKey, wordPrimLIdKey,
    floatPrimLIdKey, doublePrimLIdKey, rationalLIdKey, stringPrimLIdKey,
    charPrimLIdKey:: Unique
charLIdKey :: Unique
charLIdKey        = Int -> Unique
mkPreludeMiscIdUnique 220
stringLIdKey :: Unique
stringLIdKey      = Int -> Unique
mkPreludeMiscIdUnique 221
integerLIdKey :: Unique
integerLIdKey     = Int -> Unique
mkPreludeMiscIdUnique 222
intPrimLIdKey :: Unique
intPrimLIdKey     = Int -> Unique
mkPreludeMiscIdUnique 223
wordPrimLIdKey :: Unique
wordPrimLIdKey    = Int -> Unique
mkPreludeMiscIdUnique 224
floatPrimLIdKey :: Unique
floatPrimLIdKey   = Int -> Unique
mkPreludeMiscIdUnique 225
doublePrimLIdKey :: Unique
doublePrimLIdKey  = Int -> Unique
mkPreludeMiscIdUnique 226
rationalLIdKey :: Unique
rationalLIdKey    = Int -> Unique
mkPreludeMiscIdUnique 227
stringPrimLIdKey :: Unique
stringPrimLIdKey  = Int -> Unique
mkPreludeMiscIdUnique 228
charPrimLIdKey :: Unique
charPrimLIdKey    = Int -> Unique
mkPreludeMiscIdUnique 229

liftStringIdKey :: Unique
liftStringIdKey :: Unique
liftStringIdKey     = Int -> Unique
mkPreludeMiscIdUnique 230

-- data Pat = ...
litPIdKey, varPIdKey, tupPIdKey, unboxedTupPIdKey, unboxedSumPIdKey, conPIdKey,
  infixPIdKey, tildePIdKey, bangPIdKey, asPIdKey, wildPIdKey, recPIdKey,
  listPIdKey, sigPIdKey, viewPIdKey :: Unique
litPIdKey :: Unique
litPIdKey         = Int -> Unique
mkPreludeMiscIdUnique 240
varPIdKey :: Unique
varPIdKey         = Int -> Unique
mkPreludeMiscIdUnique 241
tupPIdKey :: Unique
tupPIdKey         = Int -> Unique
mkPreludeMiscIdUnique 242
unboxedTupPIdKey :: Unique
unboxedTupPIdKey  = Int -> Unique
mkPreludeMiscIdUnique 243
unboxedSumPIdKey :: Unique
unboxedSumPIdKey  = Int -> Unique
mkPreludeMiscIdUnique 244
conPIdKey :: Unique
conPIdKey         = Int -> Unique
mkPreludeMiscIdUnique 245
infixPIdKey :: Unique
infixPIdKey       = Int -> Unique
mkPreludeMiscIdUnique 246
tildePIdKey :: Unique
tildePIdKey       = Int -> Unique
mkPreludeMiscIdUnique 247
bangPIdKey :: Unique
bangPIdKey        = Int -> Unique
mkPreludeMiscIdUnique 248
asPIdKey :: Unique
asPIdKey          = Int -> Unique
mkPreludeMiscIdUnique 249
wildPIdKey :: Unique
wildPIdKey        = Int -> Unique
mkPreludeMiscIdUnique 250
recPIdKey :: Unique
recPIdKey         = Int -> Unique
mkPreludeMiscIdUnique 251
listPIdKey :: Unique
listPIdKey        = Int -> Unique
mkPreludeMiscIdUnique 252
sigPIdKey :: Unique
sigPIdKey         = Int -> Unique
mkPreludeMiscIdUnique 253
viewPIdKey :: Unique
viewPIdKey        = Int -> Unique
mkPreludeMiscIdUnique 254

-- type FieldPat = ...
fieldPatIdKey :: Unique
fieldPatIdKey :: Unique
fieldPatIdKey       = Int -> Unique
mkPreludeMiscIdUnique 260

-- data Match = ...
matchIdKey :: Unique
matchIdKey :: Unique
matchIdKey          = Int -> Unique
mkPreludeMiscIdUnique 261

-- data Clause = ...
clauseIdKey :: Unique
clauseIdKey :: Unique
clauseIdKey         = Int -> Unique
mkPreludeMiscIdUnique 262


-- data Exp = ...
varEIdKey, conEIdKey, litEIdKey, appEIdKey, appTypeEIdKey, infixEIdKey,
    infixAppIdKey, sectionLIdKey, sectionRIdKey, lamEIdKey, lamCaseEIdKey,
    tupEIdKey, unboxedTupEIdKey, unboxedSumEIdKey, condEIdKey, multiIfEIdKey,
    letEIdKey, caseEIdKey, doEIdKey, compEIdKey,
    fromEIdKey, fromThenEIdKey, fromToEIdKey, fromThenToEIdKey,
    listEIdKey, sigEIdKey, recConEIdKey, recUpdEIdKey, staticEIdKey,
    unboundVarEIdKey, labelEIdKey, implicitParamVarEIdKey, mdoEIdKey :: Unique
varEIdKey :: Unique
varEIdKey              = Int -> Unique
mkPreludeMiscIdUnique 270
conEIdKey :: Unique
conEIdKey              = Int -> Unique
mkPreludeMiscIdUnique 271
litEIdKey :: Unique
litEIdKey              = Int -> Unique
mkPreludeMiscIdUnique 272
appEIdKey :: Unique
appEIdKey              = Int -> Unique
mkPreludeMiscIdUnique 273
appTypeEIdKey :: Unique
appTypeEIdKey          = Int -> Unique
mkPreludeMiscIdUnique 274
infixEIdKey :: Unique
infixEIdKey            = Int -> Unique
mkPreludeMiscIdUnique 275
infixAppIdKey :: Unique
infixAppIdKey          = Int -> Unique
mkPreludeMiscIdUnique 276
sectionLIdKey :: Unique
sectionLIdKey          = Int -> Unique
mkPreludeMiscIdUnique 277
sectionRIdKey :: Unique
sectionRIdKey          = Int -> Unique
mkPreludeMiscIdUnique 278
lamEIdKey :: Unique
lamEIdKey              = Int -> Unique
mkPreludeMiscIdUnique 279
lamCaseEIdKey :: Unique
lamCaseEIdKey          = Int -> Unique
mkPreludeMiscIdUnique 280
tupEIdKey :: Unique
tupEIdKey              = Int -> Unique
mkPreludeMiscIdUnique 281
unboxedTupEIdKey :: Unique
unboxedTupEIdKey       = Int -> Unique
mkPreludeMiscIdUnique 282
unboxedSumEIdKey :: Unique
unboxedSumEIdKey       = Int -> Unique
mkPreludeMiscIdUnique 283
condEIdKey :: Unique
condEIdKey             = Int -> Unique
mkPreludeMiscIdUnique 284
multiIfEIdKey :: Unique
multiIfEIdKey          = Int -> Unique
mkPreludeMiscIdUnique 285
letEIdKey :: Unique
letEIdKey              = Int -> Unique
mkPreludeMiscIdUnique 286
caseEIdKey :: Unique
caseEIdKey             = Int -> Unique
mkPreludeMiscIdUnique 287
doEIdKey :: Unique
doEIdKey               = Int -> Unique
mkPreludeMiscIdUnique 288
compEIdKey :: Unique
compEIdKey             = Int -> Unique
mkPreludeMiscIdUnique 289
fromEIdKey :: Unique
fromEIdKey             = Int -> Unique
mkPreludeMiscIdUnique 290
fromThenEIdKey :: Unique
fromThenEIdKey         = Int -> Unique
mkPreludeMiscIdUnique 291
fromToEIdKey :: Unique
fromToEIdKey           = Int -> Unique
mkPreludeMiscIdUnique 292
fromThenToEIdKey :: Unique
fromThenToEIdKey       = Int -> Unique
mkPreludeMiscIdUnique 293
listEIdKey :: Unique
listEIdKey             = Int -> Unique
mkPreludeMiscIdUnique 294
sigEIdKey :: Unique
sigEIdKey              = Int -> Unique
mkPreludeMiscIdUnique 295
recConEIdKey :: Unique
recConEIdKey           = Int -> Unique
mkPreludeMiscIdUnique 296
recUpdEIdKey :: Unique
recUpdEIdKey           = Int -> Unique
mkPreludeMiscIdUnique 297
staticEIdKey :: Unique
staticEIdKey           = Int -> Unique
mkPreludeMiscIdUnique 298
unboundVarEIdKey :: Unique
unboundVarEIdKey       = Int -> Unique
mkPreludeMiscIdUnique 299
labelEIdKey :: Unique
labelEIdKey            = Int -> Unique
mkPreludeMiscIdUnique 300
implicitParamVarEIdKey :: Unique
implicitParamVarEIdKey = Int -> Unique
mkPreludeMiscIdUnique 301
mdoEIdKey :: Unique
mdoEIdKey              = Int -> Unique
mkPreludeMiscIdUnique 302

-- type FieldExp = ...
fieldExpIdKey :: Unique
fieldExpIdKey :: Unique
fieldExpIdKey       = Int -> Unique
mkPreludeMiscIdUnique 305

-- data Body = ...
guardedBIdKey, normalBIdKey :: Unique
guardedBIdKey :: Unique
guardedBIdKey     = Int -> Unique
mkPreludeMiscIdUnique 306
normalBIdKey :: Unique
normalBIdKey      = Int -> Unique
mkPreludeMiscIdUnique 307

-- data Guard = ...
normalGEIdKey, patGEIdKey :: Unique
normalGEIdKey :: Unique
normalGEIdKey     = Int -> Unique
mkPreludeMiscIdUnique 308
patGEIdKey :: Unique
patGEIdKey        = Int -> Unique
mkPreludeMiscIdUnique 309

-- data Stmt = ...
bindSIdKey, letSIdKey, noBindSIdKey, parSIdKey, recSIdKey :: Unique
bindSIdKey :: Unique
bindSIdKey       = Int -> Unique
mkPreludeMiscIdUnique 310
letSIdKey :: Unique
letSIdKey        = Int -> Unique
mkPreludeMiscIdUnique 311
noBindSIdKey :: Unique
noBindSIdKey     = Int -> Unique
mkPreludeMiscIdUnique 312
parSIdKey :: Unique
parSIdKey        = Int -> Unique
mkPreludeMiscIdUnique 313
recSIdKey :: Unique
recSIdKey        = Int -> Unique
mkPreludeMiscIdUnique 314

-- data Dec = ...
funDIdKey, valDIdKey, dataDIdKey, newtypeDIdKey, tySynDIdKey, classDIdKey,
    instanceWithOverlapDIdKey, instanceDIdKey, sigDIdKey, forImpDIdKey,
    pragInlDIdKey, pragSpecDIdKey, pragSpecInlDIdKey, pragSpecInstDIdKey,
    pragRuleDIdKey, pragAnnDIdKey, defaultSigDIdKey, dataFamilyDIdKey,
    openTypeFamilyDIdKey, closedTypeFamilyDIdKey, dataInstDIdKey,
    newtypeInstDIdKey, tySynInstDIdKey, standaloneDerivWithStrategyDIdKey,
    infixLDIdKey, infixRDIdKey, infixNDIdKey, roleAnnotDIdKey, patSynDIdKey,
    patSynSigDIdKey, pragCompleteDIdKey, implicitParamBindDIdKey :: Unique
funDIdKey :: Unique
funDIdKey                         = Int -> Unique
mkPreludeMiscIdUnique 320
valDIdKey :: Unique
valDIdKey                         = Int -> Unique
mkPreludeMiscIdUnique 321
dataDIdKey :: Unique
dataDIdKey                        = Int -> Unique
mkPreludeMiscIdUnique 322
newtypeDIdKey :: Unique
newtypeDIdKey                     = Int -> Unique
mkPreludeMiscIdUnique 323
tySynDIdKey :: Unique
tySynDIdKey                       = Int -> Unique
mkPreludeMiscIdUnique 324
classDIdKey :: Unique
classDIdKey                       = Int -> Unique
mkPreludeMiscIdUnique 325
instanceWithOverlapDIdKey :: Unique
instanceWithOverlapDIdKey         = Int -> Unique
mkPreludeMiscIdUnique 326
instanceDIdKey :: Unique
instanceDIdKey                    = Int -> Unique
mkPreludeMiscIdUnique 327
sigDIdKey :: Unique
sigDIdKey                         = Int -> Unique
mkPreludeMiscIdUnique 328
forImpDIdKey :: Unique
forImpDIdKey                      = Int -> Unique
mkPreludeMiscIdUnique 329
pragInlDIdKey :: Unique
pragInlDIdKey                     = Int -> Unique
mkPreludeMiscIdUnique 330
pragSpecDIdKey :: Unique
pragSpecDIdKey                    = Int -> Unique
mkPreludeMiscIdUnique 331
pragSpecInlDIdKey :: Unique
pragSpecInlDIdKey                 = Int -> Unique
mkPreludeMiscIdUnique 332
pragSpecInstDIdKey :: Unique
pragSpecInstDIdKey                = Int -> Unique
mkPreludeMiscIdUnique 333
pragRuleDIdKey :: Unique
pragRuleDIdKey                    = Int -> Unique
mkPreludeMiscIdUnique 334
pragAnnDIdKey :: Unique
pragAnnDIdKey                     = Int -> Unique
mkPreludeMiscIdUnique 335
dataFamilyDIdKey :: Unique
dataFamilyDIdKey                  = Int -> Unique
mkPreludeMiscIdUnique 336
openTypeFamilyDIdKey :: Unique
openTypeFamilyDIdKey              = Int -> Unique
mkPreludeMiscIdUnique 337
dataInstDIdKey :: Unique
dataInstDIdKey                    = Int -> Unique
mkPreludeMiscIdUnique 338
newtypeInstDIdKey :: Unique
newtypeInstDIdKey                 = Int -> Unique
mkPreludeMiscIdUnique 339
tySynInstDIdKey :: Unique
tySynInstDIdKey                   = Int -> Unique
mkPreludeMiscIdUnique 340
closedTypeFamilyDIdKey :: Unique
closedTypeFamilyDIdKey            = Int -> Unique
mkPreludeMiscIdUnique 341
infixLDIdKey :: Unique
infixLDIdKey                      = Int -> Unique
mkPreludeMiscIdUnique 342
infixRDIdKey :: Unique
infixRDIdKey                      = Int -> Unique
mkPreludeMiscIdUnique 343
infixNDIdKey :: Unique
infixNDIdKey                      = Int -> Unique
mkPreludeMiscIdUnique 344
roleAnnotDIdKey :: Unique
roleAnnotDIdKey                   = Int -> Unique
mkPreludeMiscIdUnique 345
standaloneDerivWithStrategyDIdKey :: Unique
standaloneDerivWithStrategyDIdKey = Int -> Unique
mkPreludeMiscIdUnique 346
defaultSigDIdKey :: Unique
defaultSigDIdKey                  = Int -> Unique
mkPreludeMiscIdUnique 347
patSynDIdKey :: Unique
patSynDIdKey                      = Int -> Unique
mkPreludeMiscIdUnique 348
patSynSigDIdKey :: Unique
patSynSigDIdKey                   = Int -> Unique
mkPreludeMiscIdUnique 349
pragCompleteDIdKey :: Unique
pragCompleteDIdKey                = Int -> Unique
mkPreludeMiscIdUnique 350
implicitParamBindDIdKey :: Unique
implicitParamBindDIdKey           = Int -> Unique
mkPreludeMiscIdUnique 351

-- type Cxt = ...
cxtIdKey :: Unique
cxtIdKey :: Unique
cxtIdKey               = Int -> Unique
mkPreludeMiscIdUnique 361

-- data SourceUnpackedness = ...
noSourceUnpackednessKey, sourceNoUnpackKey, sourceUnpackKey :: Unique
noSourceUnpackednessKey :: Unique
noSourceUnpackednessKey = Int -> Unique
mkPreludeMiscIdUnique 362
sourceNoUnpackKey :: Unique
sourceNoUnpackKey       = Int -> Unique
mkPreludeMiscIdUnique 363
sourceUnpackKey :: Unique
sourceUnpackKey         = Int -> Unique
mkPreludeMiscIdUnique 364

-- data SourceStrictness = ...
noSourceStrictnessKey, sourceLazyKey, sourceStrictKey :: Unique
noSourceStrictnessKey :: Unique
noSourceStrictnessKey   = Int -> Unique
mkPreludeMiscIdUnique 365
sourceLazyKey :: Unique
sourceLazyKey           = Int -> Unique
mkPreludeMiscIdUnique 366
sourceStrictKey :: Unique
sourceStrictKey         = Int -> Unique
mkPreludeMiscIdUnique 367

-- data Con = ...
normalCIdKey, recCIdKey, infixCIdKey, forallCIdKey, gadtCIdKey,
  recGadtCIdKey :: Unique
normalCIdKey :: Unique
normalCIdKey      = Int -> Unique
mkPreludeMiscIdUnique 368
recCIdKey :: Unique
recCIdKey         = Int -> Unique
mkPreludeMiscIdUnique 369
infixCIdKey :: Unique
infixCIdKey       = Int -> Unique
mkPreludeMiscIdUnique 370
forallCIdKey :: Unique
forallCIdKey      = Int -> Unique
mkPreludeMiscIdUnique 371
gadtCIdKey :: Unique
gadtCIdKey        = Int -> Unique
mkPreludeMiscIdUnique 372
recGadtCIdKey :: Unique
recGadtCIdKey     = Int -> Unique
mkPreludeMiscIdUnique 373

-- data Bang = ...
bangIdKey :: Unique
bangIdKey :: Unique
bangIdKey         = Int -> Unique
mkPreludeMiscIdUnique 374

-- type BangType = ...
bangTKey :: Unique
bangTKey :: Unique
bangTKey          = Int -> Unique
mkPreludeMiscIdUnique 375

-- type VarBangType = ...
varBangTKey :: Unique
varBangTKey :: Unique
varBangTKey       = Int -> Unique
mkPreludeMiscIdUnique 376

-- data PatSynDir = ...
unidirPatSynIdKey, implBidirPatSynIdKey, explBidirPatSynIdKey :: Unique
unidirPatSynIdKey :: Unique
unidirPatSynIdKey    = Int -> Unique
mkPreludeMiscIdUnique 377
implBidirPatSynIdKey :: Unique
implBidirPatSynIdKey = Int -> Unique
mkPreludeMiscIdUnique 378
explBidirPatSynIdKey :: Unique
explBidirPatSynIdKey = Int -> Unique
mkPreludeMiscIdUnique 379

-- data PatSynArgs = ...
prefixPatSynIdKey, infixPatSynIdKey, recordPatSynIdKey :: Unique
prefixPatSynIdKey :: Unique
prefixPatSynIdKey = Int -> Unique
mkPreludeMiscIdUnique 380
infixPatSynIdKey :: Unique
infixPatSynIdKey  = Int -> Unique
mkPreludeMiscIdUnique 381
recordPatSynIdKey :: Unique
recordPatSynIdKey = Int -> Unique
mkPreludeMiscIdUnique 382

-- data Type = ...
forallTIdKey, varTIdKey, conTIdKey, tupleTIdKey, unboxedTupleTIdKey,
    unboxedSumTIdKey, arrowTIdKey, listTIdKey, appTIdKey, appKindTIdKey,
    sigTIdKey, equalityTIdKey, litTIdKey, promotedTIdKey,
    promotedTupleTIdKey, promotedNilTIdKey, promotedConsTIdKey,
    wildCardTIdKey, implicitParamTIdKey, infixTIdKey :: Unique
forallTIdKey :: Unique
forallTIdKey        = Int -> Unique
mkPreludeMiscIdUnique 390
varTIdKey :: Unique
varTIdKey           = Int -> Unique
mkPreludeMiscIdUnique 391
conTIdKey :: Unique
conTIdKey           = Int -> Unique
mkPreludeMiscIdUnique 392
tupleTIdKey :: Unique
tupleTIdKey         = Int -> Unique
mkPreludeMiscIdUnique 393
unboxedTupleTIdKey :: Unique
unboxedTupleTIdKey  = Int -> Unique
mkPreludeMiscIdUnique 394
unboxedSumTIdKey :: Unique
unboxedSumTIdKey    = Int -> Unique
mkPreludeMiscIdUnique 395
arrowTIdKey :: Unique
arrowTIdKey         = Int -> Unique
mkPreludeMiscIdUnique 396
listTIdKey :: Unique
listTIdKey          = Int -> Unique
mkPreludeMiscIdUnique 397
appTIdKey :: Unique
appTIdKey           = Int -> Unique
mkPreludeMiscIdUnique 398
appKindTIdKey :: Unique
appKindTIdKey       = Int -> Unique
mkPreludeMiscIdUnique 399
sigTIdKey :: Unique
sigTIdKey           = Int -> Unique
mkPreludeMiscIdUnique 400
equalityTIdKey :: Unique
equalityTIdKey      = Int -> Unique
mkPreludeMiscIdUnique 401
litTIdKey :: Unique
litTIdKey           = Int -> Unique
mkPreludeMiscIdUnique 402
promotedTIdKey :: Unique
promotedTIdKey      = Int -> Unique
mkPreludeMiscIdUnique 403
promotedTupleTIdKey :: Unique
promotedTupleTIdKey = Int -> Unique
mkPreludeMiscIdUnique 404
promotedNilTIdKey :: Unique
promotedNilTIdKey   = Int -> Unique
mkPreludeMiscIdUnique 405
promotedConsTIdKey :: Unique
promotedConsTIdKey  = Int -> Unique
mkPreludeMiscIdUnique 406
wildCardTIdKey :: Unique
wildCardTIdKey      = Int -> Unique
mkPreludeMiscIdUnique 407
implicitParamTIdKey :: Unique
implicitParamTIdKey = Int -> Unique
mkPreludeMiscIdUnique 408
infixTIdKey :: Unique
infixTIdKey         = Int -> Unique
mkPreludeMiscIdUnique 409

-- data TyLit = ...
numTyLitIdKey, strTyLitIdKey :: Unique
numTyLitIdKey :: Unique
numTyLitIdKey = Int -> Unique
mkPreludeMiscIdUnique 410
strTyLitIdKey :: Unique
strTyLitIdKey = Int -> Unique
mkPreludeMiscIdUnique 411

-- data TyVarBndr = ...
plainTVIdKey, kindedTVIdKey :: Unique
plainTVIdKey :: Unique
plainTVIdKey       = Int -> Unique
mkPreludeMiscIdUnique 412
kindedTVIdKey :: Unique
kindedTVIdKey      = Int -> Unique
mkPreludeMiscIdUnique 413

-- data Role = ...
nominalRIdKey, representationalRIdKey, phantomRIdKey, inferRIdKey :: Unique
nominalRIdKey :: Unique
nominalRIdKey          = Int -> Unique
mkPreludeMiscIdUnique 414
representationalRIdKey :: Unique
representationalRIdKey = Int -> Unique
mkPreludeMiscIdUnique 415
phantomRIdKey :: Unique
phantomRIdKey          = Int -> Unique
mkPreludeMiscIdUnique 416
inferRIdKey :: Unique
inferRIdKey            = Int -> Unique
mkPreludeMiscIdUnique 417

-- data Kind = ...
varKIdKey, conKIdKey, tupleKIdKey, arrowKIdKey, listKIdKey, appKIdKey,
  starKIdKey, constraintKIdKey :: Unique
varKIdKey :: Unique
varKIdKey         = Int -> Unique
mkPreludeMiscIdUnique 418
conKIdKey :: Unique
conKIdKey         = Int -> Unique
mkPreludeMiscIdUnique 419
tupleKIdKey :: Unique
tupleKIdKey       = Int -> Unique
mkPreludeMiscIdUnique 420
arrowKIdKey :: Unique
arrowKIdKey       = Int -> Unique
mkPreludeMiscIdUnique 421
listKIdKey :: Unique
listKIdKey        = Int -> Unique
mkPreludeMiscIdUnique 422
appKIdKey :: Unique
appKIdKey         = Int -> Unique
mkPreludeMiscIdUnique 423
starKIdKey :: Unique
starKIdKey        = Int -> Unique
mkPreludeMiscIdUnique 424
constraintKIdKey :: Unique
constraintKIdKey  = Int -> Unique
mkPreludeMiscIdUnique 425

-- data FamilyResultSig = ...
noSigIdKey, kindSigIdKey, tyVarSigIdKey :: Unique
noSigIdKey :: Unique
noSigIdKey        = Int -> Unique
mkPreludeMiscIdUnique 426
kindSigIdKey :: Unique
kindSigIdKey      = Int -> Unique
mkPreludeMiscIdUnique 427
tyVarSigIdKey :: Unique
tyVarSigIdKey     = Int -> Unique
mkPreludeMiscIdUnique 428

-- data InjectivityAnn = ...
injectivityAnnIdKey :: Unique
injectivityAnnIdKey :: Unique
injectivityAnnIdKey = Int -> Unique
mkPreludeMiscIdUnique 429

-- data Callconv = ...
cCallIdKey, stdCallIdKey, cApiCallIdKey, primCallIdKey,
  javaScriptCallIdKey :: Unique
cCallIdKey :: Unique
cCallIdKey          = Int -> Unique
mkPreludeMiscIdUnique 430
stdCallIdKey :: Unique
stdCallIdKey        = Int -> Unique
mkPreludeMiscIdUnique 431
cApiCallIdKey :: Unique
cApiCallIdKey       = Int -> Unique
mkPreludeMiscIdUnique 432
primCallIdKey :: Unique
primCallIdKey       = Int -> Unique
mkPreludeMiscIdUnique 433
javaScriptCallIdKey :: Unique
javaScriptCallIdKey = Int -> Unique
mkPreludeMiscIdUnique 434

-- data Safety = ...
unsafeIdKey, safeIdKey, interruptibleIdKey :: Unique
unsafeIdKey :: Unique
unsafeIdKey        = Int -> Unique
mkPreludeMiscIdUnique 440
safeIdKey :: Unique
safeIdKey          = Int -> Unique
mkPreludeMiscIdUnique 441
interruptibleIdKey :: Unique
interruptibleIdKey = Int -> Unique
mkPreludeMiscIdUnique 442

-- data FunDep = ...
funDepIdKey :: Unique
funDepIdKey :: Unique
funDepIdKey = Int -> Unique
mkPreludeMiscIdUnique 445

-- data TySynEqn = ...
tySynEqnIdKey :: Unique
tySynEqnIdKey :: Unique
tySynEqnIdKey = Int -> Unique
mkPreludeMiscIdUnique 460

-- quasiquoting
quoteExpKey, quotePatKey, quoteDecKey, quoteTypeKey :: Unique
quoteExpKey :: Unique
quoteExpKey  = Int -> Unique
mkPreludeMiscIdUnique 470
quotePatKey :: Unique
quotePatKey  = Int -> Unique
mkPreludeMiscIdUnique 471
quoteDecKey :: Unique
quoteDecKey  = Int -> Unique
mkPreludeMiscIdUnique 472
quoteTypeKey :: Unique
quoteTypeKey = Int -> Unique
mkPreludeMiscIdUnique 473

-- data RuleBndr = ...
ruleVarIdKey, typedRuleVarIdKey :: Unique
ruleVarIdKey :: Unique
ruleVarIdKey      = Int -> Unique
mkPreludeMiscIdUnique 480
typedRuleVarIdKey :: Unique
typedRuleVarIdKey = Int -> Unique
mkPreludeMiscIdUnique 481

-- data AnnTarget = ...
valueAnnotationIdKey, typeAnnotationIdKey, moduleAnnotationIdKey :: Unique
valueAnnotationIdKey :: Unique
valueAnnotationIdKey  = Int -> Unique
mkPreludeMiscIdUnique 490
typeAnnotationIdKey :: Unique
typeAnnotationIdKey   = Int -> Unique
mkPreludeMiscIdUnique 491
moduleAnnotationIdKey :: Unique
moduleAnnotationIdKey = Int -> Unique
mkPreludeMiscIdUnique 492

-- type DerivPred = ...
derivClauseIdKey :: Unique
derivClauseIdKey :: Unique
derivClauseIdKey = Int -> Unique
mkPreludeMiscIdUnique 493

-- data DerivStrategy = ...
stockStrategyIdKey, anyclassStrategyIdKey, newtypeStrategyIdKey,
  viaStrategyIdKey :: Unique
stockStrategyIdKey :: Unique
stockStrategyIdKey    = Int -> Unique
mkPreludeDataConUnique 494
anyclassStrategyIdKey :: Unique
anyclassStrategyIdKey = Int -> Unique
mkPreludeDataConUnique 495
newtypeStrategyIdKey :: Unique
newtypeStrategyIdKey  = Int -> Unique
mkPreludeDataConUnique 496
viaStrategyIdKey :: Unique
viaStrategyIdKey      = Int -> Unique
mkPreludeDataConUnique 497

{-
************************************************************************
*                                                                      *
                        RdrNames
*                                                                      *
************************************************************************
-}

lift_RDR, mkNameG_dRDR, mkNameG_vRDR :: RdrName
lift_RDR :: RdrName
lift_RDR     = Name -> RdrName
nameRdrName Name
liftName
mkNameG_dRDR :: RdrName
mkNameG_dRDR = Name -> RdrName
nameRdrName Name
mkNameG_dName
mkNameG_vRDR :: RdrName
mkNameG_vRDR = Name -> RdrName
nameRdrName Name
mkNameG_vName

-- data Exp = ...
conE_RDR, litE_RDR, appE_RDR, infixApp_RDR :: RdrName
conE_RDR :: RdrName
conE_RDR     = Name -> RdrName
nameRdrName Name
conEName
litE_RDR :: RdrName
litE_RDR     = Name -> RdrName
nameRdrName Name
litEName
appE_RDR :: RdrName
appE_RDR     = Name -> RdrName
nameRdrName Name
appEName
infixApp_RDR :: RdrName
infixApp_RDR = Name -> RdrName
nameRdrName Name
infixAppName

-- data Lit = ...
stringL_RDR, intPrimL_RDR, wordPrimL_RDR, floatPrimL_RDR,
    doublePrimL_RDR, stringPrimL_RDR, charPrimL_RDR :: RdrName
stringL_RDR :: RdrName
stringL_RDR     = Name -> RdrName
nameRdrName Name
stringLName
intPrimL_RDR :: RdrName
intPrimL_RDR    = Name -> RdrName
nameRdrName Name
intPrimLName
wordPrimL_RDR :: RdrName
wordPrimL_RDR   = Name -> RdrName
nameRdrName Name
wordPrimLName
floatPrimL_RDR :: RdrName
floatPrimL_RDR  = Name -> RdrName
nameRdrName Name
floatPrimLName
doublePrimL_RDR :: RdrName
doublePrimL_RDR = Name -> RdrName
nameRdrName Name
doublePrimLName
stringPrimL_RDR :: RdrName
stringPrimL_RDR = Name -> RdrName
nameRdrName Name
stringPrimLName
charPrimL_RDR :: RdrName
charPrimL_RDR   = Name -> RdrName
nameRdrName Name
charPrimLName