CoreSubst

# Main data types

data Subst

type TvSubstEnv

type IdSubstEnv

data InScopeSet

## Substituting into expressions and related types

deShadowBinds

substSpec

substRulesForImportedIds

substTy

substCo

substExpr

substExprSC

substBind

substBindSC

substUnfolding

substUnfoldingSC

lookupIdSubst

lookupTCvSubst

substIdOcc

substTickish

substDVarSet

## Operations on substitutions

emptySubst

mkEmptySubst

mkSubst

mkOpenSubst

substInScope

isEmptySubst

extendIdSubst

extendIdSubstList

extendTCvSubst

extendTvSubstList

extendSubst

extendSubstList

extendSubstWithVar

zapSubstEnv

addInScopeSet

extendInScope

extendInScopeList

extendInScopeIds

isInScope

setInScope

delBndr

delBndrs

## Substituting and cloning binders

substBndr

substBndrs

substRecBndrs

cloneBndr

cloneBndrs

cloneIdBndr

cloneIdBndrs

cloneRecIdBndrs

## Simple expression optimiser

simpleOptPgm

simpleOptExpr

simpleOptExprWith

exprIsConApp_maybe

exprIsLiteral_maybe

exprIsLambda_maybe