block arguments no longer mess with variables of same name in enclosing scope