change duplication check of variable. add cache. remove nested identifier
fix bug on nested closure(wip)