CoreUtils

# Constructing expressions

mkInlineMe
mkSCC
mkCoerce
mkCoerceI
bindNonRec
needsCaseBinding
mkIfThenElse
mkAltExpr
mkPiType
mkPiTypes

# Taking expressions apart

findDefault
findAlt
isDefaultAlt
mergeAlts
trimConArgs

# Properties of expressions

exprType
coreAltType
coreAltsType
exprIsDupable
exprIsTrivial
exprIsCheap
exprIsHNF
exprOkForSpeculation
exprIsBig
exprIsConApp_maybe
exprIsBottom
rhsIsStatic

# Arity and eta expansion

manifestArity
exprArity
exprEtaExpandArity
etaExpand

# Expression and bindings size

coreBindsSize
exprSize

# Hashing

hashExpr

# Equality

cheapEqExpr
tcEqExpr
tcEqExprX

# Manipulating data constructors and types

applyTypeToArgs
applyTypeToArg
dataConOrigInstPat
dataConRepInstPat
dataConRepFSInstPat