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