Var

# The main data type and synonyms

data Var

type CoVar

type Id

type NcId

type DictId

type DFunId

type EvVar

type EqVar

type EvId

type IpId

type JoinId

type TyVar

type TypeVar

type KindVar

type TKVar

type TyCoVar

# In and Out variants

type InVar

type InCoVar

type InId

type InTyVar

type OutVar

type OutCoVar

type OutId

type OutTyVar

## Taking `Var`s apart

varName

varUnique

varType

## Modifying `Var`s

setVarName

setVarUnique

setVarType

updateVarType

updateVarTypeM

## Constructing, taking apart, modifying `Id`s

mkGlobalVar

mkLocalVar

mkExportedLocalVar

mkCoVar

idInfo

idDetails

lazySetIdInfo

setIdDetails

globaliseId

setIdExported

setIdNotExported

## Predicates

isId

isTyVar

isTcTyVar

isLocalVar

isLocalId

isCoVar

isNonCoVarId

isTyCoVar

isGlobalId

isExportedId

mustHaveLocalBinding

# TyVar's

data TyVarBndr tyvar argf

data ArgFlag

type TyVarBinder

binderVar

binderVars

binderArgFlag

binderKind

isVisibleArgFlag

isInvisibleArgFlag

sameVis

## Constructing TyVar's

mkTyVar

mkTcTyVar

## Taking `TyVar`s apart

tyVarName

tyVarKind

tcTyVarDetails

setTcTyVarDetails

## Modifying `TyVar`s

setTyVarName

setTyVarUnique

setTyVarKind

updateTyVarKind

updateTyVarKindM

nonDetCmpVar