The inner perform is closing above the no cost variable and that is why it is called 'closure'. A free of charge variable is usually a variable that is certainly outside the interior function and passed in the inner via docorator. I came across this issue when refactoring a perform https://propertyingurugram.in/hero-realty-locks-5-acre-land-deal-for-90-crore-in-gurugram-for-residential-project/