actually, I think we are going to want a Spool[K] here, or even `() => Spool[K]` or the equivalent.

In fact, on the source side, maybe what we want is a Spool source, and a way to convert a
`(Spool[K], ReadableStore[K, V]) => Spool[(K, Option[V])]`

Then we can use this for even more cases.

That said, the sink side really looks like a `Writable[K, V]` I think.