CoreUtils

# Constructing expressions

mkCast

mkTick

mkTickNoHNF

bindNonRec

needsCaseBinding

mkAltExpr

# Taking expressions apart

findDefault

findAlt

isDefaultAlt

mergeAlts

trimConArgs

filterAlts

# Properties of expressions

exprType

coreAltType

coreAltsType

exprIsDupable

exprIsTrivial

getIdFromTrivialExpr

exprIsBottom

exprIsCheap

exprIsExpandable

exprIsCheap'

type CheapAppFun

exprIsHNF

exprOkForSpeculation

exprOkForSideEffects

exprIsWorkFree

exprIsBig

exprIsConLike

rhsIsStatic

isCheapApp

isExpandableApp

# Expression and bindings size

coreBindsSize

exprSize

data CoreStats

coreBindsStats

# Hashing

hashExpr

# Equality

cheapEqExpr

eqExpr

eqExprX

# Eta reduction

tryEtaReduce

# Manipulating data constructors and types

applyTypeToArgs

applyTypeToArg

dataConRepInstPat

dataConRepFSInstPat