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