Demand
data StrDmd
data UseDmd
data Count
countOnce
countMany
type Demand
data CleanDemand
mkProdDmd
mkOnceUsedDmd
mkManyUsedDmd
mkHeadStrict
oneifyDmd
getUsage
toCleanDmd
absDmd
topDmd
botDmd
seqDmd
lubDmd
bothDmd
apply1Dmd
apply2Dmd
isTopDmd
isBotDmd
isAbsDmd
isSeqDmd
peelUseCall
cleanUseDmd_maybe
strictenDmd
bothCleanDmd
addCaseBndrDmd
data DmdType
dmdTypeDepth
lubDmdType
bothDmdType
nopDmdType
botDmdType
mkDmdType
addDemand
removeDmdTyArgs
type BothDmdArg
mkBothDmdArg
toBothDmdArg
type DmdEnv
emptyDmdEnv
peelFV
findIdDemand
type DmdResult
data CPRResult
isBotRes
isTopRes
topRes
botRes
cprProdRes
vanillaCprProdRes
cprSumRes
appIsBottom
isBottomingSig
pprIfaceStrictSig
trimCPRInfo
returnsCPR_maybe
data StrictSig
mkStrictSig
mkClosedStrictSig
nopSig
botSig
cprProdSig
isNopSig
splitStrictSig
increaseStrictSigArity
seqDemand
seqDemandList
seqDmdType
seqStrictSig
evalDmd
cleanEvalDmd
cleanEvalProdDmd
isStrictDmd
splitDmdTy
splitFVs
deferAfterIO
postProcessUnsat
postProcessDmdTypeM
splitProdDmd_maybe
peelCallDmd
mkCallDmd
dmdTransformSig
dmdTransformDataConSig
dmdTransformDictSelSig
argOneShots
argsOneShots
trimToType
data TypeShape
isSingleUsed
reuseEnv
killUsageDemand
killUsageSig
zapUsageDemand
strictifyDictDmd