Var

# The main data type

data Var

## Constructing `Var`s

mkLocalIdVar
mkExportedLocalIdVar
mkGlobalIdVar

## Taking `Var`s apart

varName
varUnique
varType
varIdInfo
globalIdVarDetails

## Modifying `Var`s

setVarName
setVarUnique
setVarType
setIdVarExported
setIdVarNotExported
globaliseIdVar
lazySetVarIdInfo

## Predicates

isCoVar
isIdVar
isTyVar
isTcTyVar
isLocalVar
isLocalIdVar
isGlobalIdVar
isExportedIdVar
mustHaveLocalBinding

# Type variable data type

type TyVar

## Constructing `TyVar`s

mkTyVar
mkTcTyVar
mkWildCoVar

## Taking `TyVar`s apart

tyVarName
tyVarKind
tcTyVarDetails

## Modifying `TyVar`s

setTyVarName
setTyVarUnique
setTyVarKind

# Coercion variable data type

type CoVar

## Constructing `CoVar`s

mkCoVar

## Taking `CoVar`s apart

coVarName

## Modifying `CoVar`s

setCoVarUnique
setCoVarName

# `Var` type synonyms

type Id
type DictId