sub infinite_evens { my ($i) = @_; $i += $i % 2 - 2; return sub { $i += 2 }; }