lazy: aligned with an common interface
csv: stream processing