pub type RowValAgent<V, T, R> = TraceAgent<Spine<Rc<OrdValBatch<RowValLayout<((Row, V), T, R)>>>, ColumnatedMergeBatcher<Row, V, T, R>, RcBuilder<OrdValBuilder<RowValLayout<((Row, V), T, R)>>>>>;
struct RowValAgent<V, T, R> {
trace: Rc<RefCell<TraceBox<Spine<Rc<OrdValBatch<RowValLayout<((Row, V), T, R)>>>, ColumnatedMergeBatcher<Row, V, T, R>, RcBuilder<OrdValBuilder<RowValLayout<((Row, V), T, R)>>>>>>>,
queues: Weak<RefCell<Vec<Weak<(Activator, RefCell<VecDeque<TraceReplayInstruction<Spine<Rc<OrdValBatch<RowValLayout<((Row, V), T, R)>>>, ColumnatedMergeBatcher<Row, V, T, R>, RcBuilder<OrdValBuilder<RowValLayout<((Row, V), T, R)>>>>>>>)>>>>,
logical_compaction: Antichain<<Spine<Rc<OrdValBatch<RowValLayout<((Row, V), T, R)>>>, ColumnatedMergeBatcher<Row, V, T, R>, RcBuilder<OrdValBuilder<RowValLayout<((Row, V), T, R)>>>> as TraceReader>::Time>,
physical_compaction: Antichain<<Spine<Rc<OrdValBatch<RowValLayout<((Row, V), T, R)>>>, ColumnatedMergeBatcher<Row, V, T, R>, RcBuilder<OrdValBuilder<RowValLayout<((Row, V), T, R)>>>> as TraceReader>::Time>,
temp_antichain: Antichain<<Spine<Rc<OrdValBatch<RowValLayout<((Row, V), T, R)>>>, ColumnatedMergeBatcher<Row, V, T, R>, RcBuilder<OrdValBuilder<RowValLayout<((Row, V), T, R)>>>> as TraceReader>::Time>,
operator: OperatorInfo,
logging: Option<Logger<DifferentialEvent, usize>>,
}