VarEnv

# Var, Id and TyVar environments (maps)

type VarEnv elt

type IdEnv elt

type TyVarEnv elt

type CoVarEnv elt

type TyCoVarEnv elt

## Manipulating these environments

emptyVarEnv

unitVarEnv

mkVarEnv

mkVarEnv_Directly

elemVarEnv

varEnvElts

varEnvKeys

varEnvToList

extendVarEnv

extendVarEnv_C

extendVarEnv_Acc

extendVarEnv_Directly

extendVarEnvList

plusVarEnv

plusVarEnv_C

plusVarEnv_CD

alterVarEnv

delVarEnvList

delVarEnv

delVarEnv_Directly

minusVarEnv

intersectsVarEnv

lookupVarEnv

lookupVarEnv_NF

lookupWithDefaultVarEnv

mapVarEnv

zipVarEnv

modifyVarEnv

modifyVarEnv_Directly

isEmptyVarEnv

foldVarEnv

foldVarEnv_Directly

elemVarEnvByKey

lookupVarEnv_Directly

filterVarEnv

filterVarEnv_Directly

restrictVarEnv

partitionVarEnv

# Deterministic Var environments (maps)

type DVarEnv elt

type DIdEnv elt

type DTyVarEnv elt

## Manipulating these environments

emptyDVarEnv

dVarEnvElts

extendDVarEnv

extendDVarEnv_C

lookupDVarEnv

isEmptyDVarEnv

foldDVarEnv

mapDVarEnv

modifyDVarEnv

alterDVarEnv

plusDVarEnv_C

unitDVarEnv

delDVarEnv

delDVarEnvList

partitionDVarEnv

anyDVarEnv

# The InScopeSet type

data InScopeSet

## Operations on InScopeSets

emptyInScopeSet

mkInScopeSet

delInScopeSet

extendInScopeSet

extendInScopeSetList

extendInScopeSetSet

getInScopeVars

lookupInScope

lookupInScope_Directly

unionInScope

elemInScopeSet

uniqAway

varSetInScope

# The RnEnv2 type

data RnEnv2

## Operations on RnEnv2s

mkRnEnv2

rnBndr2

rnBndrs2

rnBndr2_var

rnOccL

rnOccR

inRnEnvL

inRnEnvR

rnOccL_maybe

rnOccR_maybe

rnBndrL

rnBndrR

nukeRnEnvL

nukeRnEnvR

rnSwap

delBndrL

delBndrR

delBndrsL

delBndrsR

addRnInScopeSet

rnEtaL

rnEtaR

rnInScope

rnInScopeSet

lookupRnInScope

rnEnvL

rnEnvR

# TidyEnv and its operation

type TidyEnv

emptyTidyEnv