i learned about how lambdas capture variables earlier and found that i genuinely have no idea why something like this works. if i assign the method of the testclass containing herbert to fun, does it create a new version of the method that automatically uses cl as the target or is there some other mechanism that makes it automatically pass the reference in cl to it?