Every implementation of a closure I&#x27;ve encountered creates a new Capture class which stores references&#x2F;copies of all variables the closure uses. I think they do this even if the closure doesn&#x27;t reference any local variables - only class-level ones. In this case, wouldn&#x27;t it be better to just implement it as a local function of the parent class instead of creating a new class? Or does it not matter because the cost of calling this.foo is negligibly similar to this.parent.foo?