Made Expression.identifyVars(), substitute(), curry() side-effect free