In the first iteration of the reduce primitive we provided a single basic store. This digs more in depth:
- What is the abstraction? Do we focus on key value store only ?
- What is the watermark and snapshot abstraction ?
- How do we deal with accumulators that cannot keep track of snapshots (like the billing counter in postgres)