added another pass for making all functions visible in entire scope
introduced closure_lifting to compilation passes