If my understanding of how petl’s lazy evaluation works is correct, I believe there’d be a performance difference. Since this example focuses on small amounts of data (in a real world example, it’d be looking at updated data values over a recurring period: daily, weekly, monthly, etc.) — we aren’t concerned with processing millions of rows and probably care more about execution time. This approach would execute faster (at the expense of supporting more data), but that’s fine for the use case. Thanks for the comment!