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