some work on free_vars/closed stuff