>-- | Data used to generate variables.>-- The map stores for each variable name generated so far>-- which was the index last used to generate a fresh variable>-- with such a name as prefix.>typeVarGen=M.MapStringInt

>typeVarGenState=StateVarGen

>-- | Computes the value in the monad of the variable generator>runVarGenState::VarGenStatea->VarGen->(a,VarGen)>runVarGenState=runState