new transducer-like abstraction for reduce-kv