dead variable
corec
refactored GVtoCP to use a monad in order to deal with fresh names in
letrec translation