Nun ja, mit ein bisschen Generics und Closures bekommt man so etwas hin
Muss man ja auch nicht

Ich wollte eigentlich demonstrieren, dass man Blockvariablen durchaus einsetzen kann, um die Lesbarkeit zu verbessern (
imho). Es wäre ja es nicht sonderlich schlimm gewesen die Variablen im Funktionskopf zu deklarieren, aber einen sinnvollen Wert haben die Variablen im Beispiel eh nur innerhalb des Blocks.