Improve the zip_with function, make it work as generator.